Expand description
The util::attribute
module provides helpers for working with PKCS11
structs and identifiers as text (e.g. either in a CLI or as serialized
forms like json).
The following enums & structs are equivalent to their corresponding
enums/structs in cryptoki
:
- AttributeType
- CertificateType
- Date
- KeyType
- MechanismType
- ObjectClass
They implement From
for converting from their corresponding cryptoki
types and TryFrom
(and TryInto
) for converting back to the
cryptoki
types.
The hsmtool
versions of these types provide integer conversion
to/from the cryptoki_sys types, and serde::{Serialize, Deserialize}
.
They can also optionally provide FromStr
and Display
and can
support conversions from nicer names than the formal PKCS11 names
(like CKK_RSA
).
Just as the cryptoki
types are thin wrappers around the PKCS11
C types, using their underlying C types inside the wrapper, the
hsmtool
versions of these types are also wrappers around the
same underlying C types and use the same internal representation.
The cryptoki
APIs typically use &[Attribute]
when passing
attributes to its functions. For the purpose of building and
(de)serializing an Attribute list, a map is more convenient
structure and AttributeMap
and AttrData
fill that role.