2.2.7 End-User License Stream

The end-user license stream (1) contains cached use licenses.

The end-user license stream (1) name MUST be prefixed with "EUL-", with a base-32-encoded GUID as the remainder of the stream (1) name.

The license stream (1) MUST consist of an EndUserLicenseHeader structure (section 2.2.9), followed by a UTF-8-LP-P4 string (section 2.1.3) containing XML specifying a certificate chain. The certificate chain MUST include a use license with an enablingbits element containing the symmetric content key encrypted with the user's RAC public key, as specified in [MS-RMPR] section 2.2.9.1.13. The XML in this string is derived from a certificatechain element as specified in [MS-RMPR] section 2.2.3.2. Each XrML certificate or license from a certificate element as specified in [MS-RMPR] section 2.2.3.1 is encoded as a base64-encoded Unicode string.

The certificate chain has been transformed in the following manner:

  1. For each certificate element in the certificate chain:

    1. The XrML content of the certificate element is encoded as Unicode.

    2. Each resulting string is subsequently base64-encoded.

    3. Each resulting string is then placed in a certificate element.

  2. The resulting collection of new certificate elements is accumulated in a certificatechain element.

  3. The XML header <?xml version="1.0"?> is prefixed to the resulting certificatechain element.

  4. The resulting XML is stored in the stream (1) as a UTF-8-LP-P4 string.