- return_code
-
Direction: Output | Type: Integer |
The return code specifies the general result of the callable
service. Appendix A. ICSF and TSS Return and Reason Codes lists the return codes.
- reason_code
-
Direction: Output | Type: Integer |
The reason code specifies the result of the callable service
that is returned to the application program. Each return code has
different reason codes that indicate specific processing problems. Appendix A. ICSF and TSS Return and Reason Codes lists the reason codes.
- exit_data_length
-
Direction: Input/Output | Type: Integer |
The length of the data that is passed to the installation
exit. The length can be from X'00000000' to X'7FFFFFFF' (2
gigabytes). The data is identified in the exit_data parameter.
- exit_data
-
Direction: Input/Output | Type: String |
The data that is passed to the installation exit.
- key_type
-
Direction: Input | Type: String |
The 8-byte keyword of 'MAC ' or 'MACD ' that specifies
the key type to be generated. The keyword must be left-justified and
padded on the right with blanks. MAC specifies an 8-byte, single-length
MAC key which is used in the ANSI X9.9-1 or the ANSI X9.19 basic MAC
processing rules. MACD specifies a 16-byte, double-length internal
MAC key that uses the single-length control vector for both the left
and right half of the key (MAC MAC). The double-length
MAC key is used in the ANSI X9.19 optional double-key MAC processing
rules. The keyword 'TOKEN ' is also accepted. If you specify TOKEN
with a rule_array of VISA or NOFORMAT, the key type is
determined by the valid internal token of the single-length or double-length
MAC key in the generated_key_identifier parameter.
If you specify TOKEN with a rule_array of SESS-MAC, the
key type is determined by the valid internal token of the single-length
or double-length MAC key in the source_key_identifier.
- rule_array_count
-
Direction: Input | Type: Integer |
The number of keywords specified in the rule_array parameter.
The value must be 1.
- rule_array
-
Direction: Input | Type: Character string |
The process rule for the user derived key in an 8-byte
field. The keywords must be in 8 bytes of contiguous storage, left-justified
and padded on the right with blanks.
The keywords are shown
in Table 124.
Table 124. Keywords for User Derived Key Control InformationKeyword | Meaning |
---|
User Derived Key Process Rules (required) |
NOFORMAT | For generating a user derived key
with no formatting done on the array before encryption under the derivation_key_identifier. |
SESS-MAC | To update an existing user derived
key supplied in the source_key_ identifier parameter
with data provided in the data_array parameter. |
VISA | For generating a user derived key
using the VISA algorithm to format the data array input before encryption
under the derivation_key_identifier. For guidance information
refer to the VISA Integrated Circuit Card Specification, V1.3 Aug
31, 1996. |
- derivation_key_identifier
-
Direction: Input/Output | Type: String |
For a rule_array value of VISA or NOFORMAT,
this is a 64-byte key label or internal key token of the derivation
key used to generate the user derived key. The key must be an EXPORTER
key type. For any other keyword, this field must be a null token.
- source_key_identifier
-
Direction: Input/Output | Type: String |
For a rule_array value of SESS-MAC, this is
a 64-byte internal token of a single-length or double-length MAC key.
For any other keyword, this field must be a null token.
- data_array
-
Direction: Input | Type: String |
Two 16-byte data elements required by the corresponding rule_array and key_type parameters.
The data array consists of two 16-byte hexadecimal character fields
whose specification depends on the process rule and key type. VISA
requires only one 16-byte hexadecimal character input. Both NOFORMAT
and SESS-MAC require one 16-byte input for a key type of MAC and two
16-byte inputs for a key type of MACD. If only one 16-byte field is
required, then the rest of the data array is ignored by the callable
service.
- generated_key_identifier
-
Direction: Input/Output | Type: String |
The 64-byte internal token of the generated single-length
or double-length MAC key. This is an input field only if TOKEN is
specified for key_type.