Skip to main content

License Server


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](http://www.microsoft.com/playReady/licensing/compliance).
### 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 (bytes) = { 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 (bytes Base64) = "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.