Parameters
The parameters for CSNBDPMT.
For the definitions of the return_code, reason_code, exit_data_length, and exit_data parameters, see Parameters common to all verbs.
- rule_array_count
-
A pointer to an integer variable containing the number of elements in the rule_array variable. This value must be 0.
Direction: Input Type: Integer - rule_array
-
A pointer to a string variable containing an array of keywords that control the processing of the verb. Each element in the array must contain a valid keyword that is left-aligned and padded on the right with space characters. The keyword must be in eight bytes of contiguous storage, left-aligned, and padded on the right with blanks. The rule_array keywords are described in Table 1:
Direction: Input Type: String array Table 1. Keywords for DK PAN Modify in Transaction control information Keyword Description PIN-block format (One, optional) ISO-1 Specifies that the PIN block identified by the ISO_encrypted_PIN_block parameter is in the ISO-1 format. This is the default. ISO-4 Specifies that the PIN block identified by the ISO_encrypted_PIN_block parameter is in the ISO-4 format. - current_PAN_data_length
-
Specifies the length in bytes of the current_PAN_data parameter. The value must be in the range 10 - 19.
Direction: Input Type: Integer - current_PAN_data
-
The current PAN data associated with the PIN. The full account number, including check digit, should be included.
Direction: Input Type: String - new_PAN_data_length
-
Specifies the length in bytes of the new_PAN_data parameter. The value must be in the range 10 - 19.
Direction: Input Type: Integer - new_PAN_data
-
The new PAN data to be associated with the PIN. The full account number, including check digit, should be included.
Direction: Output Type: Integer - current_card_p_data_length
-
Specifies the length in bytes of the current_card_p_data parameter. The value must be in the range 2 - 256.
Direction: Input Type: Integer - current_card_p_data
-
The time-invariant card data (CDp) of the current account, determined by the card issuer.
Direction: Input Type: String - current_card_t_data_length
-
Specifies the length in bytes of the current_card_t_data parameter. The value must be in the range 2 - 256.
Direction: Input Type: Integer - current_card_t_data
-
The time-sensitive card data of the current account, determined by the card issuer.
Direction: Input Type: String - new_card_p_data_length
-
Specifies the length in bytes of the new_card_p_data parameter. The value must be in the range 2 - 256.
Direction: Input Type: Integer - new_card_p_data
-
The time-invariant card data (CDp) of the current account, determined by the card issuer.
Direction: Input Type: String - new_card_t_data_length
-
Specifies the length in bytes of the new_card_t_data parameter. The value must be in the range 2 - 256.
Direction: Input Type: Integer - new_card_t_data
-
The time-sensitive card data of the current account, determined by the card issuer.
Direction: Input Type: String - CMAC_FUS_length
-
Specifies the length in bytes of the CMAC_FUS parameter. The value must be in the range 8 - 16.
Direction: Input Type: Integer - CMAC_FUS
-
The 8-byte to 16-byte MAC that was generated from the current and new PANs and card data strings and PIN reference values. The MAC is generated using the DK PRW CMAC Generate service.
Direction: Input Type: String - ISO_encrypted_PIN_block_length
-
Specifies the length of data in bytes in the ISO_encrypted_PIN_block parameter. The value must be 8 for ISO-1 or 16 for ISO-4.
Direction: Input Type: Integer - ISO_encrypted_PIN_block
-
A pointer to a string variable containing the encrypted PIN block in ISO-1 or ISO-4 format from which to extract the PIN.
Direction: Input Type: String - current_PIN_reference_value_length
-
Specifies the length in bytes of the current_PIN_reference_value parameter. The value must be 16.
Direction: Input Type: Integer - current_PIN_reference_value
-
The 16-byte PIN reference value for comparison to the calculated value.
Direction: Input Type: String - current_PRW_random_number_length
-
Specifies the length in bytes of the current_PRW_random_number parameter. The value must be 4.
Direction: Input Type: Integer - current_PRW_random_number
-
The 4-byte random number associated with the PIN reference value.
Direction: Input Type: String - CMAC_FUS_key_identifier_length
-
Specifies the length in bytes of the CMAC_FUS_key_identifier parameter. If CMAC_FUS_key_identifier contains a label, the length must be 64. Otherwise, the value must be at least the actual token length, up to 725.
Direction: Input Type: Integer - CMAC_FUS_key_identifier
-
The identifier of the key to verify the CMAC_FUS value. The key identifier is an operational token or the key label of an operational token in key storage. The key algorithm of this key must be AES, the key type must be MAC, and the key usage fields must indicate VERIFY, CMAC, and DKPINAD2.
Direction: Input Type: String If the token supplied was encrypted under the old master key, the token is returned encrypted under the current master key.
- IPIN_encryption_key_identifier_length
-
Specifies the length in bytes of the IPIN_encryption_key_identifier parameter. Set the value to 64 for an ISO-1 PIN-block, or a maximum of 3500 for an ISO-4 PIN-block. A key label must be at least 64 bytes, and only the first 64 bytes of a key label are used.
Direction: Input Type: Integer - IPIN_encryption_key_identifier
-
Direction: Input Type: String A pointer to a string variable containing an operational fixed-length Triple-DES key-token or the key label of such a record in DES key-storage or, beginning with Release 5.4, an operational variable-length AES key-token or the key label of such a record in AES key-storage. The key token contains the inbound PIN encryption key used to recover the PIN from the ISO encrypted PIN block.
If the PIN block is in ISO-1 format, the key token must have a key type of IPINENC. In addition, the control vector must enable the verification of an encrypted PIN (EPINVER, CV bit 19 = B'1').
If the PIN block is in ISO-4 format, the key token must have a token algorithm of AES and a key type of PINPROT. In addition, the key usage fields must have the encryption operation set so that the key can be used for decryption but not encryption (DECRYPT). The encryption mode must be Cipher Block Chaining (CBC), the common control usage set to no field format specification (NOFLDFMT), and the inbound function usage set so that the key can be used to verify an encrypted PIN (EPINVER).
- PRW_key_identifier_length
-
Specifies the length in bytes of the PRW_key_identifier parameter. If PRW_key_identifier contains a label, the length must be 64. Otherwise, the value must be at least the actual token length, up to 725.
Direction: Input Type: Integer - PRW_key_identifier
-
The identifier of the key to verify the input PRW. The key identifier is an operational token or the key label of an operational token in key storage. The key algorithm of this key must be AES, the key type must be PINPRW, and the key usage fields must indicate VERIFY, CMAC, and DKPINOP.
Direction: Input Type: String If the token supplied was encrypted under the old master key, the token is returned encrypted under the current master key.
- new_PRW_key_identifier_length
-
Specifies the length in bytes of the new_PRW_key_identifier parameter. If new_PRW_key_identifier contains a label, the length must be 64. Otherwise, the value must be at least the actual token length, up to 725.
Direction: Input Type: Integer - new_PRW_key_identifier
-
The identifier of the key to generate the new PRW. The key identifier is an operational token or the key label of an operational token in key storage. The key algorithm of this key must be AES, the key type must be PINPRW, and the key usage fields must indicate GENONLY, CMAC, and DKPINOP.
Direction: Input Type: String If the token supplied was encrypted under the old master key, the token is returned encrypted under the current master key.
- new_PIN_reference_value_length
-
Specifies the length in bytes of the new_PIN_reference_value parameter. The value must be at least 16. On output, it is set to 16.
Direction: Input Type: Integer - new_PIN_reference_value
-
The 16-byte new PIN reference value.
Direction: Input Type: String - new_PRW_random_number_length
-
Specifies the length in bytes of the new_PRW_random_number parameter. The value must be at least 4. On output, it is set to 4.
Direction: Input Type: Integer - new_PRW_random_number
-
The 4-byte random number associated with the new PIN reference value.
Direction: Input Type: String