2.2.2.2 SESSION_KEY_BLOB

The SESSION_KEY_BLOB is used to store session keys that are transferred during the secure session negotiation.


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

EncryptedSessionKeyLength

SignedHashLength

EncryptedSessionKey (variable)

...

Padding (variable)

...

SignedHash (variable)

...

EncryptedSessionKeyLength (4 bytes):  A 32-bit unsigned integer that contains the size, in bytes, of the EncryptedSessionKey field.

SignedHashLength (4 bytes): A 32-bit unsigned integer that contains the size, in bytes, of the SignedHash field.

EncryptedSessionKey (variable): A variable-length array of bytes that contains session key information. For more information about the internal organization of data inside this field, see ENCRYPTED_SESSION_KEY_BLOB (section 2.2.2.2.1).

Padding (variable): A variable-length array of bytes that contains zero to seven bytes of padding based on the SessionKeyDataLength field. The number of padding bytes is calculated as the difference between an 8-byte aligned EncryptedSessionKeyLength field and the actual EncryptedSessionKeyLength field.

SignedHash (variable): A variable-length array of bytes that contain the signed hash of the session key.