Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following is an XML schema for the version 7 license response packet per [XML], [XMLSCHEMA1/2], and [XMLSCHEMA2/2]. Where required, elements, attributes, and values are described in greater detail after the schema. This is not a strictly correct XML schema because the LICENSE element can be either a version 1 license or a version 7 license. The version attribute of the LICENSE element differentiates the two. The license server MAY mark nodes with either license version, or a combination of versions in different nodes. This allows the server to return licenses usable to multiple WMDRM protocol implementations simultaneously. This decision is entirely server-dependent on factors unrelated to the protocol.
If the version attribute indicates a version 7 license, then the first 80 bytes (called EncRandNum) of the base64-decoded version 7 license are used to decrypt the remainder of the base64-decoded bytes in the following manner.
Before encryption, EncRandNum contains the following byte values:
byte 0: MUST be the value 0x07.
byte 1: MUST be the value 0x01.
bytes 2 – 8: Used as the initialization vector (IV) to create an RC4 key (KR).
bytes 9 – 19: Not used.
Cryptographic sequence:
{EncRandNum}KM
KR {version 7 license}
The encrypted EncRandNum and version 7 license are concatenated and then base64-encoded.
-
<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="LICENSERESPONSE"> <xs:complexType> <xs:sequence> <xs:element name="REVOCATION" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <!-- base64-encoded --> <xs:attribute name="type" use="required" type="RevocationType" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="LICENSE" minOccurs="1" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <!-- base64-encoded --> <xs:attribute name="version" use="required" type="LicenseVersion" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:simpleType name="RevocationType"> <xs:restriction base="xs:string"> <xs:enumeration value="WMDRMNET" /> <xs:enumeration value="DeviceRevocationList" /> <xs:enumeration value="RevocationList" /> <xs:enumeration value="{66DD5134-4E34-40ae-9D5D-13A112B7591F}" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="LicenseVersion"> <xs:restriction base="xs:string"> <xs:enumeration value="0.1.0.0" /> <xs:enumeration value="2.0.0.0" /> </xs:restriction> </xs:simpleType> </xs:schema>