2.2.1.7.1 WMDRM-ND RegistrationResponseMessage Blob

This section defines the RegistrationResponseMessage data blob.

For more details on message formats of the WMDRM-ND protocol, refer to [MS-DRMND].


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

ProtocolVersion

MessageType

SignatureOffset

SerialNumber (16 bytes)

...

...

SessionID (16 bytes)

...

...

AddressSize

Address (variable)

...

SeedEncryptionType

SeedSize

EncryptedSeed (variable)

...

SignatureType

SignatureSize

Signature (variable)

...

ProtocolVersion (1 byte): An unsigned 8-bit integer. Version number of the WMDRM-ND protocol. This field MUST be set to 0x02.

MessageType (1 byte): An unsigned 8-bit integer. WMDRM-ND message type. This field MUST be set to 0x02.

SignatureOffset (2 bytes): An unsigned 16-bit integer, in little-endian byte order. Offset (in bytes), from the first byte of this packet to the Signature section of the blob.

SerialNumber (16 bytes): An unsigned 128-bit integer, in little-endian byte order.

SessionID (16 bytes): An unsigned 128-bit integer, in little-endian byte order.

AddressSize (2 bytes): An unsigned 16-bit integer, in little-endian byte order. This is the size of the Address field.

Address (variable): Consists of "AddressSize" bytes of data, in little-endian byte order.

SeedEncryptionType (1 byte): An unsigned 8-bit integer. WMDRM-ND seed encryption type. This field MUST be set to 0x01 to indicate RSAES-OAEP encryption (for more details, see [MS-DRMND]).

SeedSize (2 bytes): An unsigned 16-bit integer, in little-endian byte order. This is the size of the EncryptedSeed field.

EncryptedSeed (variable): Consists of "SeedSize" bytes of data, in little-endian byte order.

SignatureType (1 byte): An unsigned 8-bit integer. WMDRM-ND signature type. This field MUST be set to 0x01 to indicate the AES OMAC1 signature type (for more details, see [MS-DRMND]).

SignatureSize (2 bytes): An unsigned 16-bit integer, in little-endian byte order. This is the size of the Signature field.

Signature (variable): Consists of "SignatureSize" bytes of data, in little-endian byte order.