CSSM_CONTEXT_ATTRIBUTE Extensions
The key recovery, context creation operations return key recovery context handles that are represented as cryptographic context handles. The CSSM_CONTEXT data structure has been extended to include the new types of attributes, as shown in the example:
typedef struct cssm_context_attribute {
uint32 AttributeType;/* one of the defined CSSM_ATTRIBUTE_TYPEs */
uint32 AttributeLength;/* length of attribute */
union {
uint8 *Description; uint32 *Length;
void *Pointer;
CSSM_CRYPTO_DATA_PTR SeedPassPhrase;
CSSM_KEY_PTR Key;
CSSM_DATA_PTR Data;
CSSM_KR_PROFILE_PTR KRProfile;/*new attribute to hold KR profile*/
} Attribute; /* data that describes attribute */
} CSSM_CONTEXT_ATTRIBUTE, *CSSM_CONTEXT_ATTRIBUTE_PTR;
Several new attribute types were defined to support the key recovery context attributes. The CSSM_ATTRIBUTE_TYPE enum is extended as follows:
CSSM_ATTRIBUTE_KRPROFILE_LOCAL = CSSM_ATTRIBUTE_LAST + 1,
CSSM_ATTRIBUTE_KRPROFILE_REMOTE= CSSM_ATTRIBUTE_LAST + 2