Cryptographic Token Interface Standard

PKCS#11


Pre_master key generation

Pre_master key generation in TLS 1.0, denoted CKM_TLS_PRE_MASTER_KEY_GEN, is a mechanism which generates a 48-byte generic secret key. It is used to produce the "pre_master" key used in TLS version 1.0 for RSA-like cipher suites.

It has one parameter, a CK_VERSION structure, which provides the client's TLS version number.

The mechanism contributes the CKA_CLASS, CKA_KEY_TYPE, and CKA_VALUE attributes to the new key (as well as the CKA_VALUE_LEN attribute, if it is not supplied in the template). Other attributes may be specified in the template, or else are assigned default values.

The template sent along with this mechanism during a C_GenerateKey call may indicate that the object class is CKO_SECRET_KEY, the key type is CKK_GENERIC_SECRET, and the CKA_VALUE_LEN attribute has value 48. However, since these facts are all implicit in the mechanism, there is no need to specify any of them.

For this mechanism, the ulMinKeySize and ulMaxKeySize fields of the CK_MECHANISM_INFO structure both indicate 48 bytes.


RSA Security Inc. Public-Key Cryptography Standards - PKCS#11 - v220