- 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'7FFFFFFFFF' (2
gigabytes). The data is defined in the exit_data parameter.
- exit_data
-
Direction: Input/Output | Type: String |
The data that is passed to the installation exit.
- KEK_key_identifier
-
Direction: Input/Output | Type: String |
The 64-byte string variable containing an internal key
token or the key label of an internal key token record containing
the key-encrypting key. The control vector in the internal key token
must specify the key type of IMPORTER, EXPORTER, IKEYXLAT, or OKEYXLAT.
- source_key_token
-
Direction: Input | Type: String |
A 64-byte string variable containing the external key token
with the key and control vector to be processed.
- array_key_left
-
Direction: Input/Output | Type: String |
A 64-byte string variable containing an internal key token
or a key label of an internal key token record that deciphers the
left mask array. The internal key token must contain a control vector
specifying a CVARXCVL key type.
- mask_array_left
-
Direction: Input | Type: String |
A string of seven 8-byte elements containing the mask array
enciphered under the left array key.
- array_key_right
-
Direction: Input/Ouput | Type: String |
A 64-byte string variable containing an internal key token
or a key label of an internal key token record that deciphers the
right mask array. The internal key token must contain a control vector
specifying a CVARXCVR key type.
- mask_array_right
-
Direction: Input | Type: String |
A string of seven 8-byte elements containing the mask array
enciphered under the right array key.
- rule_array_count
-
Direction: Input | Type: Integer |
An integer containing the number of elements in the rule
array. The value of the rule_array_count must be 0,
1, or 2 for this service. If the rule_array_count is 0, the default
keywords are used.
- rule_array
-
Direction: Input | Type: Character String |
The rule_array parameter is an array of keywords. The
keywords must be 8 bytes of contiguous storage with the keyword left-justified
in its 8-byte location and padded on the right with blanks. The
rule_array keywords are:
Table 12. Keywords for Control Vector TranslateKeyword | Meaning |
---|
Parity Adjustment Rule (optional) |
ADJUST | Ensures that all target key bytes
have odd parity. This is the default. |
NOADJUST | Prevents the parity of the target
being altered. |
Key-portion Rule (optional) |
BOTH | Causes both halves of a 16-byte source
key to be processed with the result placed into corresponding halves
of the target key. When you use the BOTH keyword, the mask array must
be able to validate the translation of both halves. |
LEFT | Causes an 8-byte source key, or the
left half of a 16-byte source key, to be processed with the result
placed into both halves of the target key. This is the default. |
RIGHT | Causes the right half of a 16-byte
source key to be processed with the result placed into the right half
of the target key. The left half is copied unchanged (still enciphered)
from the source key. |
SINGLE | Causes the left half of the source
key to be processed with the result placed into the left half of the
target key token. The right half of the target key is unchanged. |
- target_key_token
-
Direction: Input/Output | Type: String |
A 64-byte string variable containing an external key token
with the new control vector. This key token contains the key halves
with the new control vector.
ICSF supports two methods of wrapping
the key value in a symmetric key token: the original ECB wrapping
and an enhanced CBC wrapping method which is ANSI X9.24 compliant.
The output target_key_token will be wrapped in the same manner
as the input source_key_token.