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_ALGORITHMSvalues this code needs to name. - encrypt_
mode CSSM_ENCRYPT_MODEvalues used here.- key_
attr CSSM_KEYATTR_FLAGSbits.- key_
format CSSM_KEYBLOB_FORMATvalues used here.- key_
usage CSSM_KEYUSEbits.
Structs§
- Cssm
Date 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.- Wrapped
KeyFields KeyBlob::WrappedFields: how the key that follows was wrapped.
Enums§
- KeyBlob
Type CSSM_KEYBLOB_TYPE.- KeyClass
CSSM_KEYCLASS.