The encryption API invokes the HDRSCXIT module. A combined default and sample version of this module is shipped with TIBCO Object Service Broker. The default version does not perform any encryption and the sample version performs a simple encryption algorithm.
As shipped in the ASM distribution data set, the module HDRSCXIT contains code, which could produce certain behavior, that is currently disabled. This code can be enabled by changing a constant in the module and re-assembling and re-linking it. To enable this behavior, refer to comments in the source code.
Perform any necessary initialization when the Execution Environment is initialized. Return an address to a working storage memory block for use by subsequent encryption functions.
Encrypt a clear text password that is supplied when a user logs in to the TIBCO Object Service Broker system. This encrypted password is compared to the value stored in the MetaStor. If the value is the same, the user can log in. If the value is different, the VersionMismatch function is invoked.
The encryption algorithm is at your discretionary control and can be one-way or two-way. The encrypted output must have a minimum length equal to the clear text input. The maximum encrypted length is specified by an input parameter.
Encrypt a clear text password using the previously supported algorithm. Compare this encrypted value to the previous value stored in the MetaStor for this user. If the two values are the same, the password in the MetaStor is updated with the value returned from the Encrypt function.
If the default encryption loadable module supplied with TIBCO Object Service Broker is replaced by a customer encryption loadable module, you must support, in the VersionMismatch function, clear text as the back-level encryption algorithm.
Use the module HDRSCXIT, supplied as a member of the ASM distribution data set, as the sample for the customized API. After modifying the code, re-assemble HDRSCXIT and link it into your TIBCO Object Service Broker load library. It replaces the module shipped with TIBCO Object Service Broker.
Although it is at your discretion, we suggest that the functions ensure that the routine calling them is authorized to do so. To be authorized themselves, the functions must be re-entrant and linked as AMODE(31) RMODE(31).
The parameter list for the API is a list of addresses pointed to by Register 1 (R1). All functions expect all parameters, even though some could be unused. The parameters are as follows:
Both the initialization call and the termination call occur only once per startup or shutdown of the Execution Environment. The other calls can occur many times in a multi-tasking environment such as CICS or a Native Execution Environment. Therefore, your exits must take the following points into consideration: