Cryptographic Token Interface Standard |
PKCS#11 |
CAST128 (also known as CAST5) secret key objects (object class CKO_SECRET_KEY, key type CKK_CAST128 or CKK_CAST5) hold CAST128 keys. The following table defines the CAST128 secret key object attributes, in addition to the common attributes defined for this object class:
Table 323, CAST128 (CAST5) Secret Key Object Attributes
Attribute | Data type | Meaning |
CKA_VALUE1,4,6,7 | Byte array | Key value (1 to 16 bytes) |
CKA_VALUE_LEN2,3,6 | CK_ULONG | Length in bytes of key value |
- Refer to Table 15 for footnotes
The following is a sample template for creating a CAST128 (CAST5) secret key object:
CK_OBJECT_CLASS class = CKO_SECRET_KEY; CK_KEY_TYPE keyType = CKK_CAST128; CK_UTF8CHAR label[] = "A CAST128 secret key object"; CK_BYTE value[] = {...}; CK_BBOOL true = CK_TRUE; CK_ATTRIBUTE template[] = { {CKA_CLASS, &class, sizeof(class)}, {CKA_KEY_TYPE, &keyType, sizeof(keyType)}, {CKA_TOKEN, &true, sizeof(true)}, {CKA_LABEL, label, sizeof(label)-1}, {CKA_ENCRYPT, &true, sizeof(true)}, {CKA_VALUE, value, sizeof(value)} };