Cryptographic Token Interface Standard |
PKCS#11 |
Data Fields | |
CK_MECHANISM_TYPE | DigestMechanism |
CK_ULONG | ulMacSizeInBits |
CK_ULONG | ulKeySizeInBits |
CK_ULONG | ulIVSizeInBits |
CK_ULONG | ulSequenceNumber |
CK_BBOOL | bIsExport |
CK_WTLS_RANDOM_DATA | RandomInfo |
CK_WTLS_KEY_MAT_OUT_PTR | pReturnedKeyMaterial |
DigestMechanism | the mechanism type of the digest mechanism to be used (possible types can be found in [WTLS]) |
ulMacSizeInBits | the length (in bits) of the MACing key agreed upon during the protocol handshake phase |
ulKeySizeInBits | the length (in bits) of the secret key agreed upon during the handshake phase |
ulIVSizeInBits | the length (in bits) of the IV agreed upon during the handshake phase. If no IV is required, the length should be set to 0. |
ulSequenceNumber | The current sequence number used for records sent by the client and server respectively |
bIsExport | a boolean value which indicates whether the keys have to be derived for an export version of the protocol. If this value is true (i.e. the keys are exportable) then ulKeySizeInBits is the length of the key in bits before expansion. The length of the key after expansion is determined by the information found in the template sent along with this mechanism during a C_DeriveKey function call (either the CKA_KEY_TYPE or the CKA_VALUE_LEN attribute). |
RandomInfo | client's and server's random data information |
pReturnedKeyMaterial | points to a CK_WTLS_KEY_MAT_OUT structure which receives the handles for the keys generated and the IV |
CK_WTLS_KEY_MAT_PARAMS_PTR is a pointer to a CK_WTLS_KEY_MAT_PARAMS.