License Service


The PlayReady Public Test Server available http://test.playready.microsoft.com/service/rightsmanager.asmx unconditionally delivers to clients licenses with customizable rights and right restrictions, by providing parameters as arguments to the license request. The client can specify the rights requested in the returned license(s) by providing a set of parameters in the query string, or in the request headers. The PlayReady Public Test Server now supports multiple syntaxes to provide these parameters so testers can chose the one most appropriate to their case.

The recommended syntax is the Query String Syntax.

Reference for the rights and right restrictions

The full description of the rights and right restrictions is published in the PlayReady Compliance and Robustness Rules.

Test Key Seed - common to all syntaxes

Unless the LA URL includes a custom Key Seed to be used (e.g. by using the parameter keyseed:VB8xp/ZsROLmaEu3Zyug4DH0r0MmA/tTcmFMBEqL), the key seed used is the Test Key Seed given below:

Test Key Seed (byte array) = { 0x5D, 0x50, 0x68, 0xBE, 0xC9, 0xB3, 0x84, 0xFF, 0x60, 0x44, 
                               0x86, 0x71, 0x59, 0xF1, 0x6D, 0x6B, 0x75, 0x55, 0x44, 0xFC, 
                               0xD5, 0x11, 0x69, 0x89, 0xB1, 0xAC, 0xC4, 0x27, 0x8E, 0x88 };
Test Key Seed (base 64 byte array) = "XVBovsmzhP9gRIZxWfFta3VVRPzVEWmJsazEJ46I"

Query String Syntax

Examples:

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(begindate:20151201,expiration:20171230)

http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(kid:B6E39626-1CFB-4AA1-BCBD-4EF1ABA7843A,sl:3000),(kid:7C9484BA-C238-467A-869C-CDD8C7167712,sl:2000)

Parameters are entered in the query string, separated by commas and brackets. This syntax was introduced in 2017 to fully support PlayReady 3 functionalities:

See the full documentation here.

CustomData JSON Syntax

Example: http://test.playready.microsoft.com/service/rightsmanager.asmx

with CustomData = "json=[{'kid':'B6E39626-1CFB-4AA1-BCBD-4EF1ABA7843A','sl':'3000'},{'kid':'7C9484BA-C238-467A-869C-CDD8C7167712','sl':'2000'}]"

Parameters are entered in a JSON blob added to the LicenseRequest.CustomData node:

See the full documentation here.

Base64 JSON Syntax

Example: http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg64=W3sna2lkJzonQjZFMzk2MjYtMUNGQi00QUExLUJDQkQtNEVGMUFCQTc4NDNBJywnc2wnOiczMDAwJ30seydraWQnOic3Qzk0ODRCQS1DMjM4LTQ2N0EtODY5Qy1DREQ4QzcxNjc3MTInLCdzbCc6JzIwMDAnfV0=

Parameters are entered in a JSON blob which is base64 encoded and provided in the query string:

See the full documentation here.

Legacy Syntax - inherited from http://playready.directtaps.net/

Example: http://test.playready.microsoft.com/service/rightsmanager.asmx?PlayRight=1&FirstPlayExpiration=60&UncompressedDigitalVideoOPL=270

Parameters are entered in the query string, separated by semi-colons and ampersand characters. This syntax was introduced in 2008 for PlayReady 1.0, extended in 2010 for PlayReady 2.0, and supports only a sub-set of the PlayReady 3.X features:

See the full documentation here.