Parameters
The parameters for CSNDT34R.
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
-
Direction Type Input Integer The number of keywords you supplied in the rule_array parameter. The value must be in the range 1 - 6.
- rule_array
-
Direction Type Input Character The rule_array contains keywords that provide control information to the callable service. The keywords must be in contiguous storage with each of the keywords left-justified in its own 8-byte location and padded on the right with blanks.
Table 1. Keywords for TR-34 Key Receive Keyword Meaning Requested action (one, required). 2PASSRCV TR34 Key Transport (2-pass) KTKDH RECEIVE service. 1PASSRCV TR34 Key Transport (1-pass) KTKDH RECEIVE service. Token type (one, optional). CCA-TOK Specifies to create a CCA key token in the output_key_identifier. This is the default. TR31-TOK Specifies to create a TR-31 key block in the output_key_identifier. Note: If the input token uses wrapping method A or C, it cannot be returned as an internal TR-31 token. Only wrapping methods B and D can be internal TR-31 tokens.Public key infrastructure usage (one, optional). PKI-CHK Specifies that the X.509 certificate for the other party (KRD) is to be validated against the trust chain of the PKI hosted in the adapter. This requires that the CA credentials have been installed using the Trusted Key Entry (TKE) workstation. This is required for compliance-tagged key token export with TR-34 services. This is the default.
PKI-NONE Specifies that the X.509 certificate for the other party (KRD) is not to be validated against the trust chain of the PKI hosted in the adapter. This is suitable if the certificate has been validated using host-based PKI services. Freshness Indicator Usage (one, required with 1PASSRCV). Only valid with keyword 1PASSRCV. TIME-CHK Specifies to check the timestamp in the input_freshness_indicator parameter against the timestamp in the KTKDH received in the input_token parameter. The verification step only checks that the timestamp in the KTKDH is newer than timestamp in the input_freshness_indicator parameter. The timestamp from the KTKDH is still returned in the output_freshness_indicator parameter. TIMENONE Specifies to not check the timestamp in the input_freshness_indicator parameter against the timestamp in the KTKDH received in the input_token parameter. The timestamp from the KTKDH will be returned in the output_freshness_indicator parameter so that the application can verify the value. Key Wrapping Method (one optional). Applicable only to DES algorithm imported keys. Not allowed with the TR31-TOK keyword. USECONFG Specifies that the configuration setting for the default wrapping method is to be used to wrap the key. This is the default. WRAP-ENH Specifies that the new enhanced wrapping method is to be used to wrap the key. WRAP-ECB Specifies that the original wrapping method is to be used. WRAPENH2 Specifies to wrap the key using the enhanced wrapping method and SHA-256. Valid only for TRIPLE or TRIPLE-O. This method requires CV bit 56 = B’1’ (ENH-ONLY). This is the default for TRIPLE and TRIPLE-O. WRAPENH3 Specifies to wrap the key using the enhanced wrapping method with TDES-CMAC and the SHA-256 hashing algorithm. This keyword sets CV bit 56 = B’1’ (ENH-ONLY), which is required for the WRAPENH3 wrapping method. Translation Control (one optional). Applicable only to DES algorithm imported keys. Not allowed with the TR31-TOK keyword. ENH-ONLY Specify this keyword to indicate that the key once wrapped with the enhanced method cannot be wrapped with the CCA legacy method. This restricts translation to the CCA legacy method. If the keyword is not specified, translation to the CCA legacy method will be allowed. This turns on bit 56 in the control vector. CRL expiration date checking (one optional). CRLEXPCK CRL Expiration Check - Check the expiration date of the certificate revocation list (CRL) in the crl parameter and return an error if the CRL is expired. This is the default. CRLEXPAL CRL Expiration Allow - Check the expiration date of the certificate revocation list (CRL) in the crl parameter and return an informational message if the CRL is expired. Table 2. Input translation table for DES key usage TR-31 mode of key use Key block version ID TR-31 mode of key use Rule-array keywords CCA key type and key-usage attributes of output key Offset (hex) Access control name K0, K1 "A", "B", "C", "D" "E" N/A EXPORTER X'0248' TR-34 Key Receive – Permit DES EXPORTER K0, K1 "A", "B", "C", "D" "D" N/A IMPORTER X'0249' TR-34 Key Receive – Permit DES IMPORTER Table 3. Input translation table for AES key usage TR-31 mode of key use Key block version ID TR-31 mode of key use Rule-array keywords CCA key type and key-usage attributes of output key Offset (hex) Access control name K0 "D" "E" N/A EXPORTER 024A TR-34 Key Receive – Permit AES EXPORTER "D" N/A IMPORTER X'024B' TR-34 Key Receive – Permit AES IMPORTER K1 "D" "E" N/A EXPORTER + EXPTT31D X'024C' TR-34 Key Receive – Permit AES EXPORTER with EXPTT31D "D" N/A IMPORTER + IMPTT31D X'024D' TR-34 Key Receive – Permit AES IMPORTER with IMPTT31D - input_token_length
-
The length of the input_token parameter in bytes. The maximum length is 9000 bytes.
Direction Type Input Integer - input_token
-
The DER encoded TR-34 token object. The requested action keyword defines the object.
Direction Type Input String - 2PASSRCV
- This parameter must contain the 2 pass key transport token received from the KDH (KTKDH).
- 1PASSRCV
- This parameter must contain the 1 pass key transport token received from the KDH (KTKDH)
- cred_kdh_length
-
The length of the cred_kdh parameter in bytes. The maximum length is 3500 bytes.
Direction Type Input Integer - cred_kdh
-
The X.509 certificate that is the credential of the KDH for the requested service. The certificate may be in DER or PEM format.
Direction Type Input String Note: This service is acting as the KDH so the cred_kdh is not expected to validate against the internal PKI of the adapter. - input_freshness_indicator_length
-
The length of the input_freshness_indicator parameter in bytes. The maximum length is 200 bytes.
Direction Type Input/Output Integer The value is determined by the requested action keyword:- 2PASSRCV
- This parameter contains the length of the random number token received from the KRD (RTKRD).
- 1PASSRCV
- This parameter contains the length of the ASCII timestamp for use in the key transport token. The value must be 13 or 15. When TIMENONE is passed, the value must be 0.
- input_freshness_indicator
-
The freshness indicator. When the value of input_freshness_indicator_length is 0, this parameter is ignored.
Direction Type Input/Output String The meaning is determined by the requested action keyword:- 2PASSRCV
- This parameter contains the DER encoded random number token received from the KRD (RT-KRD).
- 1PASSRCV
- This parameter contains an ASCII timestamp for use in the key transport token. The timestamp is
encoded as a SigningTime object in the token (OID of iso(1) member-body(2) us(840) rsadsi(113549)
pkcs(1) pkcs-9(9) signing-time(5)}, defined in IETF RFC 2985). Two input encodings are accepted for
this parameter, UTCTime encoded as YYMMDDHHMMSSZ (13 bytes) and GeneralizedTime encoded as
YYYYMMDDHHMMSSZ (15 bytes). Date ranges allowed for each format are:
- GeneralizedTime
- Dates between 1 January 2050 and 31 December 2105 (inclusive).
- UTCTime
- Dates between 1 January 1950 and 31 December 2049 (inclusive).
There must be an ASCII ‘Z’ character at the end. CCA verifies that timestamps passed with either encoding are valid timestamps, but will make no attempt to validate the timestamp against the clock inside the coprocessor.
- private_key_identifier_length
-
The length of the private_key_identifier parameter. If the private_key_identifier contains a label, the value must be 64. Otherwise, the value must be between the actual length of the token and 3500.
Direction Type Input Integer - private_key_identifier
-
The identifier of the private key used to decrypt the key block in the input token. The key identifier is an operational RSA secure token or the label of such a token in key storage.
Direction Type Input String The key usage of the token must allow digital signature. Retained private keys are not supported in this service.
- output_key_identifier_length
-
The length of the output_key_identifier parameter, in bytes. On input, it specifies the length of the buffer for output_key_identifier and must be 64 bytes for DES keys, up to 725 bytes for AES keys, and up to 9992 bytes for TR-31 tokens. On output, it will contain the length of the token returned.
Direction Type Input/Output Integer - output_key_identifier
-
The received key token from the TR-34 key block. The output token will be a CCA or TR-31 internal key token containing the key received in the TR-34 key block.
Direction Type Output String - output_freshness_indicator_length
-
The length of the output_freshness_indicator parameter, in bytes. On input, it specifies the length of the buffer for output_freshness_indicator and must be at least 15 bytes long. On output, it will contain the length of the indicator returned. When the requested action keyword is 2PASSRCV, the value must be 0.
Direction Type Input/Output Integer - output_freshness_indicator
-
The output freshness indicator. When the value of output_freshness_indicator_length is 0, this parameter is ignored.
Direction Type Input/Output String When the requested action keyword is 1PASSRCV, this parameter contains the ASCII timestamp received in the key transport token received from the KDH. Two encodings are used for this parameter: UTCTime encoded as YYMMDDHHMMSSZ (13 bytes) and GeneralizedTime encoded as YYYYMMDDHHMMSSZ (15 bytes). Date ranges allowed for each format are:- UTCTime
- Dates between 1 January 1970 and 31 December 2049 (inclusive).
- GeneralizedTime
- Dates between 1 January 2050 and 31 December 2105 (inclusive).
- reserved_data_length
-
This parameter is reserved. The value must be zero.
Direction Type Input/Output Integer - reserved_data
-
This parameter is ignored.
Direction Type Input/Output String