BuildRsaCrtKeyPair
Create an RSA key pair given the modulus and exponents, as well as the additional arguments used in Chinese Remainder Theorem processing. If the values for P, Q, E1, E2 and U are not specified, a normal RSA key pair is created.
Synopsis
CK_RV BuildRsaCrtKeyPair(
CK_SESSION_HANDLE hSession,
char * txt,
int tok,
int priv,
CK_OBJECT_HANDLE * phPub,
CK_OBJECT_HANDLE * phPri,
char * modulusStr,
char * pubExpStr,
char * priExpStr,
char * priPStr,
char * priQStr,
char * priE1Str,
char * priE2Str,
char * priUStr);
Parameter | Description |
---|---|
hSession | Open session handle |
txt | Optional label |
tok | 1 for a Token object, 0 for Session object |
priv | 1 for Private object, 0 for Public object |
phPub | Reference to object handle to hold created public key |
phPri | Reference to object handle to hold created private key |
modulusStr | Key modulus |
pubExpStr | Public key exponent |
priExpStr | Private key exponent |
priPStr | Optional Private key Prime1 |
priQStr | Optional (optionality set by priPStr) Private key Prime2 |
priE1Str | Optional (optionality set by priPStr) Private key Exponent1 |
priE2Str | Optional (optionality set by priPStr) Private key Exponent2 |
priUStr | Optional (optionality set by priPStr) Private key Coefficient |
On successful return
*phPub — handle to newly created public key
*phPri — handle to newly created private key
In addition to the Public key attributes set via the parameters, the following are set:
CKA_CLASS CKO_PUBLIC_KEY CKA_KEY_TYPE CKK_RSA CKA_VERIFY TRUE CKA_SIGN FALSE CKA_DECRYPT FALSE CKA_ENCRYPT TRUE CKA_EXTRACTABLE TRUE CKA_WRAP FALSE
In addition to the Private key attributes set via the parameters, the following are set:
CKA_CLASS CKO_PRIVATE_KEY CKA_KEY_TYPE CKK_RSA CKA_VERIFY FALSE CKA_SIGN TRUE CKA_DECRYPT TRUE CKA_ENCRYPT FALSE CKA_EXTRACTABLE TRUE CKA_WRAP FALSE