GenerateRsaKeyPair
Generate an RSA key pair.
Synopsis
CK_RV GenerateRsaKeyPair(
CK_SESSION_HANDLE hSession,
char * txt,
int ftok,
int priv,
CK_SIZE modulusBits,
int expType,
CK_OBJECT_HANDLE * phPublicKey,
CK_OBJECT_HANDLE * phPrivateKey);
| Parameter | Description | 
|---|---|
| hSession | Open session handle | 
| txt | Optional label | 
| ftok | 1 for a Token object, 0 for Session object | 
| priv | 1 for private object, 0 for public object | 
| modulusBits | Size of modulus to generate | 
| expType | 0 for random exponent, 1 for Fermat 4 exponent (\x00010001), 2 for smallest valid exponent (3) | 
| phPublicKey | Reference to object handle to hold created public key | 
| phPrivateKey | Reference to object handle to hold created private key | 
On Successful Return
*phPublicKey — handle to newly created public key
*phPrivateKey — 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_SUBJECT_STR “SUBJECT”
CKA_ENCRYPT TRUE
CKA_VERIFY TRUE
CKA_WRAP FALSE
CKA_EXTRACTABLE TRUE
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_SUBJECT_STR “SUBJECT” CKA_ID 123 CKA_SENSITIVE TRUE CKA_DECRYPT TRUE CKA_SIGN TRUE CKA_UNWRAP FALSE CKA_EXTRACTABLE TRUE