A SERVICE OF

logo

Chapter 3 Key Info Types 281
KI_RSA_CRT
KI_RSA_CRT
Purpose:
This KI allows you to specify a private key of the RSA algorithm without the public or
private key exponent information. However, you must provide the modulus and
Chinese Remainder Theorem information.
Type of information this allows you to use:
an RSA private key where the modulus and Chinese Remainder Theorem information
integers are specified, but not the public or private exponent integers. (For RSA
private key information with the public and private exponent integers, see
KI_PKCS_RSAPrivate.)
Format of info supplied to B_SetKeyInfo:
pointer to an A_RSA_CRT_KEY structure:
Each
ITEM supplies an integer in canonical format, where the ITEM’s
data
points to an
unsigned byte array, most significant byte first, and the
ITEM’s
len
gives its length. All
leading zeros are stripped from each integer before it is copied to the key object.
Format of info returned by B_GetKeyInfo:
pointer to an A_RSA_CRT_KEY structure (see above). All leading zeros have been
stripped from each integer in the structure.
Can get this info type if key object already has:
KI_RSA_CRT, KI_PKCS_RSAPrivate, or KI_PKCS_RSAPrivateBER.
typedef struct {
ITEM modulus; /* modulus */
ITEM prime[2]; /* prime factors */
ITEM primeExponent[2]; /* exponents for prime factors */
ITEM coefficient; /* CRT coefficient */
} A_RSA_CRT_KEY ;