KeyHashEx format
This section defines the wire format for M_KeyHashEx and its descendant types.
In a key attestation bundle as described in Key attestation bundle construction, the following fields will use this format:
-
hkre
-
hkra
-
hkfips
-
hkmc
-
hkm
M_KeyHashEx
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
mech |
4 bytes |
Little-endian unsigned integer. See M_KeyHashMech |
data |
variable |
Depends on field |
M_KeyHashEx.data representations
This depends on the value of the mech
field, as follows:
Name of mech |
Value of mech |
Format of data |
---|---|---|
KeyHashMech_SHA1Hash |
44 |
|
KeyHashMech_SHA256Hash |
93 |
|
KeyHashMech_SHA512Hash |
95 |
Any supported values of mech
not present in the table correspond to an empty (zero-length) data
field.
M_KeyHashMech
An enumeration type, represented as a 4-byte little-endian unsigned integer. Possible values include:
Value | Name |
---|---|
44 |
|
93 |
|
95 |
|
M_KeyHashMech_SHA1Hash_KeyHashData
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
hash |
variable |
See M_Hash |
M_KeyHashMech_SHA256Hash_KeyHashData
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
hash |
variable |
See M_Hash32 |
M_KeyHashMech_SHA512Hash_KeyHashData
This represents a structure with the following fields:
Field | Size | Format |
---|---|---|
hash |
variable |
See M_Hash64 |