2.2.20.4 CUSTOM_KEY_INFORMATION

The CUSTOM_KEY_INFORMATION structure is a  structure that contains key information.

Note: This structure has two possible representations. In the first representation, only the Version and Flags fields are present; in this case the structure has a total size of two bytes. In the second representation, all additional fields shown below are also present; in this case, the structure's total size is variable. Differentiating between the two representations MUST be inferred using only the total size.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Version

Flags

VolType

SupportsNotification

FekKeyVersion

KeyStrength

Reserved

...

...

EncodedExtendedCKI (variable)

...

...

...

Version (1 byte): An 8-bit unsigned integer that MUST be set to 1.

Flags (1 byte): An 8-bit unsigned integer that specifies zero or more of the following bit-flag values:

Name and Value

Description

CUSTOMKEYINFO_FLAGS_ATTESTATION

0x01

Reserved for future use.

CUSTOMKEYINFO_FLAGS_MFA_NOT_USED

0x02

During creation of this key, the requesting client authenticated using only a single credential.

VolType (1 byte): An 8-bit unsigned integer that specifies one of the following volume types:

Name and Value

Description

None

0x00

Volume not specified.

OSV

0x01

Operating system volume.

FDV

0x02

Fixed data volume.

RDV

0x03

Removable data volume.

SupportsNotification (1 byte): An 8-bit unsigned integer that specifies whether the device associated with this credential supports notification.

Name and Value

Description

None

0x00

Notification is not supported.

Supported

0x01

Notification is supported.

FekKeyVersion (1 byte): An 8-bit unsigned integer that specifies the version of the buffer stored in KEY_USAGE_FEK (section 2.2.20.5.3). This field MUST be set to 1.

KeyStrength (1 byte): An 8-bit unsigned integer that specifies the strength of the NGC key.

Name and Value

Description

Unknown

0x00

Key strength is unknown.

Weak

0x01

Key strength is weak.

Normal

0x02

Key strength is normal.

Reserved (10 bytes): Reserved for future use.

EncodedExtendedCKI (variable): Extended custom key information. The contents of this field are defined in section 2.2.20.4.1.