Verbs, variables, and parameters
Certain information is included for each verb, including the entry-point name and the parameter list.
- Pseudonym
- Entry-point name
- Description
- Format
- Parameters
- Restrictions
- Required commands
- Usage notes
- JNI version
- Pseudonym
- Also known as a general-language name or verb name. This name describes the function that the verb performs, such as Key Generate or Symmetric Algorithm Encipher.
- Entry-point name
- Also known as a computer-language name. This name is used in your program to call the verb. Each
verb's 7 or 8 character entry-point name begins with one of the following prefixes:
- CSNB
- Generally, the AES and DES verbs
- CSND
- Public key cryptography verbs, including RSA and Elliptic Curve
- CSUA
- Cryptographic-node and hardware-control verbs
When verbs are described throughout this publication, they are sometimes referred to by the pseudonym, and at other times by the pseudonym followed by the entry-point name in parenthesis. An example of this is: Key Generate (CSNBKGN).
The verb prefixes used here are different from those used by the Integrated Cryptographic Service Facility (ICSF).
- Description
- The verb is described in general terms. Be sure to read the parameter descriptions because these add additional detail.
- Format
- The format section for each verb lists the entry-point name followed by the list of parameters
for the verb. You must code all the parameters, and they must be in the order listed.
entry-point name( return_code, reason_code, exit_data_length, exit_data, parameter_5, parameter_6, ... parameter_n)
- Parameters
- All information exchanged between your application program and a verb is through the variables
identified by the parameters in the procedure call. These parameters are pointers to the variables
contained in application program storage that contain information to be exchanged with the verb.
Each verb has a fixed-length parameter list and though all parameters are not always used by the
verb, they must be included in the call.
The first four parameters are the same for all of the verbs. For a description of these parameters, see Parameters common to all verbs. For the description of the remaining parameters, see the definitions with the individual verbs.
In the description for each parameter, data flow direction and data type are indicated, as follows.
- Direction
-
- Input
- The application program sends the variable to the verb (to the called routine).
- Output
- The verb returns the variable to the application program.
- Input/Output
- The application program sends the variable to the verb or the verb returns the variable to the application program, or both.
- Type
- Data identified by a verb parameter can be a single value or a one-dimensional array. If a
parameter identifies an array, each data element of the array is of the same data type. If the
number of elements in the array is variable, a preceding parameter identifies a variable that
contains the actual number of elements in the associated array. Unless otherwise stated, a variable
is a single value, not an array.
For each verb, the parameter descriptions use the following terms to describe the type of variable:
- Integer
- A CCA integer (CCAINT). On Linux on IBM Z, this is defined as the system type long. On other platforms this has been defined as a 4-byte (32-bit), signed, two's-complement binary number. (CCA for Linux on IBM Z has always defined the CCA integer as long).
- String
- A series of bytes where the sequence of the bytes must be maintained. Each byte can take on any
bit configuration. The string consists only of the data bytes. No string terminators, field-length
values, or typecasting parameters are included. Individual verbs can restrict the byte values within
the string to characters or numerics.
Character data must be encoded in the native character set of the computer where the data is used. Exceptions to this rule are noted where necessary.
- Array
- An array of values, which can be integers or strings. Only one-dimensional arrays are permitted. For information about the parameters that use arrays, see The rule_array and other keyword parameters.
- Restrictions
- Any restrictions are noted.
- Required commands
- Access control points required to use the verb are described here.
- Usage notes
- Usage notes about this verb are listed.
- JNI version
- If the verb has a Java Native Interface version, it is described.