Microsoft PlayReady Test Server


New PlayReady test site: http://test.playready.microsoft.com/

New PlayReady test service documentation: http://test.playready.microsoft.com/Home/Service

It is recommended that you switch to the new test service and stream vectors at https://test.playready.microsoft.com/Home/Content2X moving forward. The legacy server:http://playready.directtaps.net is still available but we will not be making any updates to the services.


For PlayReady tests, http://playready.directtaps.net/pr/svc/rightsmanager.asmx can be used to provide your client application or device with a PlayReady license with customizable rights and right restrictions, by providing parameters as arguments to the license server URL.

The detailed description of these rights and right restrictions is published in the PlayReady Compliance Rules (abbr. PR CR).

Examples

http://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&UseSimpleNonPersistentLicense=1 simple non persistent license, perfectly fine for testing, as the license request will be done again every time the playback is started
http://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&FirstPlayExpiration=60 persistent license with right to Play and expiration 60 seconds after first playback
http://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&FirstPlayExpiration=60&AnalogVideoOPL=200 persistent license with right to Play and expiration 60 seconds after first playback, with an analog video Output Protection Level of 200
(See the PlayReady Compliance Rules for details on OPL)

 

Default values

KeySeed byte array version
{ 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 };

base 64 armored string version
XVBovsmzhP9gRIZxWfFta3VVRPzVEWmJsazEJ46I

 

Full description of the parameters for reference

Parameter Values Description
PlayRight 1 PlayRight=1
Adds the Play right to the license if present
CopyRight 1 CopyRight=1
Adds the Copy right to the license if present
CopyCount integer CopyCount=3
Adds a Copy Count restriction if present
UseDomains 1 UseDomains=1
License bound to a predefined domain if present (versus bound to the client)
UseMetering 1 UseMetering=1
Flags content for metering if present
UseSimpleNonPersistentLicense 1 UseSimpleNonPersistentLicense=1
Delivers a non persistent license (also known as in-memory-only) license if present. If missing, the server delivers by default a persistent license
BeginDate mm/dd/yyyy [hh:mm:ss] BeginDate=26/02/2011
Sets an absolute date and time when the license becomes valid, if present. hh:mm:ss are optional
Expiration mm/dd/yyyy [hh:mm:ss] Expiration=12/01/2011
Sets an absolute date and time when the license expires, if present. hh:mm:ss are optional
FirstPlayExpiration integer (in seconds) FirstPlayExpiration=60
Adds a relative date and time restriction if present, expressed in seconds from the first playback
GracePeriod integer (in seconds) GracePeriod=5
Sets the grace period that specifies the period of time during which protected content can be played on a client after its clock becomes unset
AnalogVideoOutputProtection guid; base64 integer AnalogVideoOutputProtection=C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA;Aw==
Adds an Epxlicit Analog Video Output Protection if present, with the given GUID and integer configuration data. See PR CR section 6.5
DigitalAudioOutputProtection guid; base 64 integer DigitalAudioOutputProtection=6D5CFA59-C250-4426-930E-FAC72C8FCFA6;Aw==
Adds an Explicit Digital Audio Output Protection if present, with the given GUID and integer configuration data. See PR CR section 6.4
AnalogVideoOPL integer AnalogVideoOPL=0
Sets the Minimum Analog Video Output Protection Level, if present. See PR CR section 6.6
CompressedDigitalAudioOPL integer CompressedDigitalAudioOPL=0
Sets the Minimum Compressed Digital Audio Output Protection Level, if present. See PR CR section 6.6
CompressedDigitalVideoOPL integer CompressedDigitalVideoOPL=0
Sets the Minimum Compressed Digital Video Output Protection Level, if present. See PR CR section 6.6
UncompressedDigitalAudioOPL integer UncompressedDigitalAudioOPL=0
Sets the Minimum Uncompressed Digital Audio Output Protection Level, if present. See PR CR section 6.6
UncompressedDigitalVideoOPL integer UncompressedDigitalVideoOPL=0
Sets the Minimum Uncompressed Digital Video Output Protection Level, if present. Typically controls HDCP. See PR CR section 6.6
ContentKey base 64 armored string of byte array ContentKey=eNqVnXrElmo2NSsn7IXeEA==
Use the specified content key in the returned license. If missing, the server returns by default the content key derived from the server default KeySeed and the KID provided in the challenge