2.2.1.4.2 The License Response Message
After the transmitter handles the license request message, it sends a license response message to the receiver.
Receivers MUST silently disregard any additional data after the end of the license response message.
The license response message contains three parts:
Header: Contains the protocol version supported by the transmitter and the message type. The protocol version MUST be 0x03. The message type is set to 0x08 for license response messages.
CRL: A 32-bit value. Indicates the length of the variable-length CRL section, in bytes, followed by the CRL section itself.
The CRL is sent when the transmitter has a higher CRL version number than the receiver, and the receiver also has transmitting capabilities. The device certificate of the receiver specifies whether the receiver has transmitting capabilities.
License: Contains a 32-bit value that specifies the length of the variable-length license, in bytes, followed by the byte array of the license itself. The byte array is represented in XMR format [XMR]. In addition to the usage rights of the license, the license contains but is not limited to the following parts.
Content Encryption Key: The content encryption key is used to encrypt the media data using AES in counter mode (CTR) during data transfer. Encrypted with the public key of the receiver.
Content Integrity Key: The content integrity key is used to generate MACs using AES-based OMAC1 [OMAC]. Encrypted with the public key of the receiver.
The content encryption key and content integrity key used in the license response message and during data transfer are not related to any keys used for the registration or proximity detection procedures.
Rights ID: Contains the same 128-bit random value sent by the receiver in the license request message. The transmitter MUST send this back to the receiver. The receiver MUST confirm that this is the same Rights ID that it sent in the license request message.
CRL version number: A 32-bit integer. Contains the version number of the transmitter's CRL.
Serial number: The serial number is sent by the transmitter so it MAY be checked against the stored serial number on the receiver. If there is a mismatch, the receiver MUST quit the operation.
For more information on licenses, see the XMR specification [XMR].
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ProtocolVersion |
MessageType |
CRLLength |
|||||||||||||||||||||||||||||
|
CRL (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
LicenseLength |
License (variable) |
||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
ProtocolVersion (1 byte): Contains the protocol version supported by the transmitter. The protocol version MUST be set to 0x03.
MessageType (1 byte): Contains the message type. MUST be set to 0x08 for license response message.
CRLLength (2 bytes): Indicates the length of the variable-length CRL section, in bytes.
CRL (variable): This variable-length, optional field is sent when the transmitter has a higher CRL version number than the receiver, and the receiver also has transmitting capabilities. The device certificate of the receiver indicates whether the receiver has transmitting capabilities.
LicenseLength (2 bytes): Indicates the length of the variable-length license, in bytes.
License (variable): Contains the license itself, represented in XMR [XMR] format.