2.2.4 Secret Wrapped with Symmetric Key
The following structure MUST be used by servers to wrap a secret using the ServerWrap subprotocol, as specified in section 3.1.1.1.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x01 |
0x00 |
0x00 |
0x00 |
||||||||||||||||||||||||||||
Payload_Length |
|||||||||||||||||||||||||||||||
Ciphertext_Length |
|||||||||||||||||||||||||||||||
GUID_of_Wrapping_Key (16 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
R2 (68 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Rc4EncryptedPayload (variable) |
|||||||||||||||||||||||||||||||
... |
Payload_Length (4 bytes): A 32-bit unsigned integer. It MUST be the size, in bytes, of the Secret field within the Rc4EncryptedPayload structure. This field MUST be encoded using little-endian format.
Ciphertext_Length (4 bytes): A 32-bit unsigned integer. It MUST be the size, in bytes, of the Rc4EncryptedPayload field. This field MUST be encoded using little-endian format.
GUID_of_Wrapping_Key (16 bytes): This MUST be the 16-byte GUID ([MS-DTYP] section 2.3.4.2) of the wrapping key used by the server for this operation.
R2 (68 bytes): This MUST be a 68-byte random number. It SHOULD be generated independently for each wrapping operation.
Rc4EncryptedPayload (variable): This field MUST be an Rc4EncryptedPayload structure that is formatted as specified in section 2.2.4.1.