IBM 2 Computer Hardware User Manual


 
CCA Release 2.54
See Appendix A, “Return Codes and Reason Codes” for a detailed discussion of
return codes and a complete list of all return and reason codes.
Value Meaning
0 Indicates normal completion; a few nonzero reason codes are associated with
this return code.
4 Indicates the verb processing completed, but without full success. For example,
this return code can signal that a supplied PIN was found to be invalid.
8 Indicates that the verb prematurely stopped processing. Generally the
application programmer will need to investigate the problem and will need to
know the associated reason code.
12 Indicates that the verb prematurely stopped processing. The reason is most
likely related to a problem in the setup of the hardware or in the configuration of
the software.
16 Indicates that the verb prematurely stopped processing. A processing error
occurred in the product. If these errors persist, a repair of the hardware or a
correction to the product software may be required.
Rule_Array and Other Keyword Parameters
Rule_array parameters and some other parameters use keywords to transfer
information. Generally, a rule array consists of a variable number of data elements
that contain keywords that direct specific details of the verb process. Almost all
keywords, in a rule array or otherwise, are eight bytes in length, and should be
uppercase, left-justified, and padded with space characters. While some
implementations can fold lowercase characters to uppercase, you should always
code the keywords in uppercase.
The number of keywords in a rule array is specified by a rule_array_count variable,
an integer that defines the number of (eight-byte) elements in the array.
In some cases, a rule_array is used to convey information other than keywords
between your application and the server. This is, however, an exception.
Key Tokens, Key Labels, and Key Identifiers
Essentially all cryptographic operations employ one or more keys. In CCA, keys
are retained within a structure called a key token. A verb parameter can point to a
variable that contains a key token. Generally you do not need to be concerned
with the details of a key token and can deal with it as an entity. See “Key Tokens”
on page B-1 for a detailed description of the key-token structures.
Keys are described as either internal, operational, or external, as follows:
Internal A key that is encrypted for local use. The cryptographic engine will
decrypt (unwrap) an internal key to use the key in a local operation.
Once a key is entered into the system it is always encrypted
(wrapped) if it appears outside of the protected environment of the
cryptographic engine. The engine has a special key-encrypting key
designated a master key. This key is held within the engine to wrap
and unwrap locally used keys.
Operational An internal key that is complete and ready for use. During entry of a
key, the internal key-token can have a flag set that indicates the key
information is incomplete.
1-12 IBM 4758 CCA Basic Services, Release 2.54, February 2005