Parameters

The parameters for CSNBCKRC.

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: Input
Type: Integer
The rule_array_count parameter is a pointer to an integer variable containing the number of elements in the rule_array variable. This value must be 0 or 1.

When creating a new key record with a null key token, the algorithm type must be specified in the rule_array and rule_array_count must be 1. When creating a new record with an internal or external key token, the algorithm type is derived from the token, therefore, the algorithm type in the rule_array is not required and is ignored and rule_array_count should be 0.

rule_array
Direction: Input
Type: String
The rule_array parameter is a pointer to a string variable containing an array of keywords that provide control information to the verb. Each keyword is left-aligned in 8-byte fields and padded on the right with blanks. All keywords must be in contiguous storage. The rule_array keywords are described in Table 1.
Table 1. Keywords for Combined Key Record Create control information

Keywords for Combined Key Record Create control information

Keyword Description
Key Block Algorithm (one required if null token provided, otherwise optional).
AES Specifies to create a new key record for an AES key token (external, internal, and null AES and HMAC key tokens) denoted by the key_label parameter.
DES Specifies to create a new key record for a DES key token (external, internal, and null DES key tokens) denoted by the key_label parameter.
PKA Specifies to create a new key record for a PKA (ECC, QSA, or RSA) key token denoted by the key_label parameter. This record can be an external, internal, or null PKA key token.
key_label
Direction: Input
Type: String

A pointer to a string variable containing the key label of the key record to be created in key storage.

key_token_length
Direction: Input
Type: Integer
A pointer to an integer variable containing the number of bytes of data in the key_token parameter. If the value of the key_token_length parameter is 0, a record with a null key token of the specified type is created in key storage.
key_token
Direction: Input
Type: String
A pointer to a string variable containing the key token being written to key storage.
reserved1_length
Direction: Input/Output
Type: Integer
A pointer to an integer variable containing the number of bytes of data in the reserved1 variable. Reserved for future use. This parameter must be a null pointer or point to a value of 0.
reserved1
Direction: Input/Output
Type: String
A pointer to a string variable. Reserved for future use. This parameter must be null.
reserved2_length
Direction: Input/Output
Type: Integer
A pointer to an integer variable containing the number of bytes of data in the reserved2 variable. Reserved for future use. This parameter must be a null pointer or point to a value of 0.
reserved2
Direction: Input/Output
Type: String
A pointer to a string variable. Reserved for future use. This parameter must be null.
reserved3_length
Direction: Input/Output
Type: Integer
A pointer to an integer variable containing the number of bytes of data in the reserved3 variable. Reserved for future use. This parameter must be a null pointer or point to a value of 0.
reserved3
Direction: Input/Output
Type: String
A pointer to a string variable. Reserved for future use. This parameter must be null.