Skip to main content

Module cssm

Module cssm 

Source
Expand description

CSSM structures that appear inside keychain blobs, as types.

These are the fixed-layout C structs from Apple’s CDSA headers (CSSM_KEYHEADER, CSSM_GUID, CSSM_DATE) and KeyBlob::WrappedFields from ssblob.h. They are modelled field by field rather than carried as opaque bytes, so a key blob written here can be compared with one macOS wrote field by field, and so the values this code chooses are visible in the source instead of hidden in a hex literal.

Modules§

algorithm
The CSSM_ALGORITHMS values this code needs to name.
encrypt_mode
CSSM_ENCRYPT_MODE values used here.
key_attr
CSSM_KEYATTR_FLAGS bits.
key_format
CSSM_KEYBLOB_FORMAT values used here.
key_usage
CSSM_KEYUSE bits.

Structs§

CssmDate
CSSM_DATE: eight ASCII digits, YYYYMMDD, or all zeroes for “unset”.
Guid
CSSM_GUID. Stored big-endian in a keychain, unlike the host-order form the CSSM API uses in memory.
KeyHeader
CSSM_KEYHEADER, the 76-byte header of every stored key.
WrappedKeyFields
KeyBlob::WrappedFields: how the key that follows was wrapped.

Enums§

KeyBlobType
CSSM_KEYBLOB_TYPE.
KeyClass
CSSM_KEYCLASS.