2.2.2.1.3 Public Key Information

 The Public Key Information structure MUST be formatted as follows.


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

Length

Offset to Owner Hint

0x03

0x00

0x00

0x00

Length of Certificate Data

Offset to Certificate Data

Reserved

...

Data Fields (variable)

...

Length (4 bytes): This MUST be set to the length, in bytes, of this structure. It MUST be a 32-bit unsigned integer in little-endian format.

Offset to Owner Hint (4 bytes): If the Owner Hint field is present, this field MUST be set to the offset of the Owner Hint from the beginning of this structure, measured in bytes. If this field is zero, then the Owner Hint field MUST NOT be present. This field MUST be a 32-bit unsigned integer in little-endian format.

Length of Certificate Data (4 bytes): The size, in bytes, of the Certificate Data field. It MUST be a 32-bit unsigned integer in little-endian format.

Offset to Certificate Data (4 bytes): The offset, in bytes, of the Certificate Data field from the start of this structure. It MUST be a 32-bit unsigned integer in little-endian format.

Reserved (8 bytes): MUST be set to zero and ignored upon receipt.

Data Fields (variable): This field MUST contain the following items, in any order, and at the locations indicated by the respective Offset fields above. These items MUST be completely contained inside this field and MUST NOT overlap each other. There MUST NOT be any unused areas within this field that span more than eight contiguous bytes.


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

Owner Hint (variable)

...

Certificate Data (variable)

...

Owner Hint (variable):  A security identifier (SID) in RPC marshaling format that is intended to be used as a hint regarding the identity of the key owner. This item MUST be present only if the Offset to Owner Hint field is nonzero. The structure of an RPC SID is specified in [MS-DTYP] section 2.4.2.3.

Certificate Data (variable): This field MUST contain information about the X.509 certificate associated with the public key that is used to encrypt the FEK data in this key list entry. It MUST be formatted as specified in section 2.2.2.1.4.