z/OS Cryptographic Services ICSF Application Programmer's Guide
Previous topic | Next topic | Contents | Index | Contact z/OS | Library | PDF


Parameters

z/OS Cryptographic Services ICSF Application Programmer's Guide
SA22-7522-16

return_code
Direction: OutputType: 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: OutputType: 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/OutputType: 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/OutputType: String
The data that is passed to the installation exit.
key_identifier
Direction: Input/OutputType: String

The 64-byte key label or internal key token that identifies a single or double-length MAC generate key, a DATAM key, or a single-length DATA key. The type of key depends on the MAC process rule in the rule_array parameter.

text_length
Direction: InputType: Integer

The length of the text you supply in the text parameter. The maximum length of text is 214783647 bytes. If the text_length is not a multiple of 8 bytes and if the ONLY or LAST keyword of the rule_array parameter is called, the text is padded in accordance with the processing rule specified.

Note:
The MAXLEN value may still be specified in the options data set, but only the maximum value limit will be enforced.
text
Direction: InputType: String

The application-supplied text for which the MAC is generated.

rule_array_count
Direction: InputType: Integer

The number of keywords specified in the rule_array parameter. The value can be 0, 1, 2, or 3.

rule_array
Direction: InputType: Character string

Zero to three keywords that provide control information to the callable service. The keywords are shown in Table 149. The keywords must be in 24 bytes of contiguous storage with each of the keywords left-justified in its own 8-byte location and padded on the right with blanks. For example,

'X9.9-1  MIDDLE  MACLEN4 '

The order of the rule_array keywords is not fixed.

You can specify one of the MAC processing rules and then choose one of the segmenting control keywords and one of the MAC length keywords.

Table 149. Keywords for MAC generate Control Information
KeywordMeaning
MAC Process Rules (optional)
EMVMACEMV padding rule with a single-length MAC key. The key_identifier parameter must identify a single-length MAC or a single-length DATA key. The text is always padded with 1 to 8 bytes so that the resulting text length is a multiple of 8 bytes. The first pad character is X'80'. The remaining 0 to 7 pad characters are X'00'.
EMVMACDEMV padding rule with a double-length MAC key. The key_identifier parameter must identify a double-length MAC key. The padding rules are the same as for EMVMAC.
X9.19OPTANSI X9.19 optional double key MAC procedure. The key_identifier parameter must identify a double-length MAC key. The padding rules are the same as for X9.9-1.
X9.9-1ANSI X9.9-1 and X9.19 basic procedure. The key_identifier parameter must identify a single-length MAC or a single-length DATA key. X9.9-1 causes the MAC to be computed from all of the data. The text is padded only if the text length is not a multiple of 8 bytes. If padding is required, the pad character X'00' is used. This is the default value.
TDES-MACISO 16609 procedure. The key_identifier must identify a double-length MAC or a double-length DATA key. The text is padded only if the text length is not a multiple of 8 bytes.
Segmenting Control (optional)
FIRSTFirst call, this is the first segment of data from the application program.
LASTLast call; this is the last data segment.
MIDDLEMiddle call; this is an intermediate data segment.
ONLYOnly call; segmenting is not employed by the application program. This is the default value.
MAC Length and Presentation (optional)
HEX-8Generates a 4-byte MAC value and presents it as 8 hexadecimal characters.
HEX-9Generates a 4-byte MAC value and presents it as 2 groups of 4 hexadecimal characters with a space between the groups.
MACLEN4Generates a 4-byte MAC value. This is the default value.
MACLEN6Generates a 6-byte MAC value.
MACLEN8Generates an 8-byte MAC value.
chaining_vector
Direction: Input/OutputType: String

An 18-byte string that ICSF uses as a system work area. Your application program must not change the data in this string. The chaining vector permits data to be chained from one invocation call to another.

On the first call, initialize this parameter as binary zeros.

mac
Direction: OutputType: String

The 8-byte or 9-byte field in which the callable service returns the MAC value if the segmenting rule is ONLY or LAST. Allocate an 8-byte field for MAC values of 4 bytes, 6 bytes, 8 bytes, or HEX-8. Allocate a 9-byte MAC field if you specify HEX-9 in the rule_array parameter.

text_id_in
Direction: InputType: Integer

For CSNBMGN1/CSNEMGN1 only, the ALET of the text for which the MAC is generated.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014