Currently, this is not supported by AMS, but we are looking at adding support for newer versions of PlayReady in the future. For new features you can check AMS release notes here https://learn.microsoft.com/en-us/azure/media-services/latest/release-notes or subscribe to get updates from here https://azure.microsoft.com/en-us/updates/
Does Azure Media Services License Server support License Server Time feature of PlayReady 4.5?
Does Azure Media Services License Server support License Server Time feature of PlayReady 4.5?
I would like to use License Server Time feature of PlayReady 4.5.
I am developing the client by myself and want to use Azure Media Services for the server.
I uploaded a sample video to Azure Media Services, set up a content key policy and streaming locator, and successfully played the PlayReady content on Azure with a player in my local environment.
However, the LicenseServerTimeCertificate was not included in the response from the license server, although the following was written about the server requirements for License Server Time.
Set the LicenseResponse class's LicenseServerTimeCertificate property to that instance.
https://learn.microsoft.com/en-us/playready/features/trusted-clocks
Does this mean that Azure Media Services License Server does not support License Server Time in PlayReady 4.5?
Or do I need to add an additional parameter to the request from the client?
The response from the license server is below.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AcquireLicenseResponse xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols">
<AcquireLicenseResult>
<Response xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols/messages">
<LicenseResponse xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols" Id="SignedData">
<Version>1</Version>
<Licenses>----------</License>
</Licenses>
<LicenseNonce>----------</LicenseNonce>
<ResponseID>----------</ResponseID>
<SigningCertificateChain>----------</SigningCertificateChain>
</LicenseResponse>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod>
<SignatureMethod Algorithm="http://schemas.microsoft.com/DRM/2007/03/protocols#ecdsa-sha256"></SignatureMethod>
<Reference URI="#SignedData">
<DigestMethod Algorithm="http://schemas.microsoft.com/DRM/2007/03/protocols#sha256"></DigestMethod>
<DigestValue>----------</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>----------</SignatureValue>
</Signature>
</Response>
</AcquireLicenseResult>
</AcquireLicenseResponse>
</soap:Body>
</soap:Envelope>
The request from the client is below.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AcquireLicense xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols">
<challenge>
<Challenge xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols/messages">
<LA xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols" Id="SignedData" xml:space="preserve">
<Version>1</Version>
<ContentHeader>
<WRMHEADER xmlns="http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader" version="4.0.0.0">
<DATA>
<PROTECTINFO>
<KEYLEN>16</KEYLEN>
<ALGID>AESCTR</ALGID>
</PROTECTINFO>
<KID>----------</KID>
<CHECKSUM>----------</CHECKSUM>
<LA_URL>----------</LA_URL>
<CUSTOMATTRIBUTES>
<IIS_DRM_VERSION>----------</IIS_DRM_VERSION>
</CUSTOMATTRIBUTES>
</DATA>
</WRMHEADER>
</ContentHeader>
<CLIENTINFO>
<CLIENTVERSION>----------</CLIENTVERSION>
</CLIENTINFO>
<RevocationLists>
<RevListInfo>
<ListID>----------</ListID>
<Version>----------</Version>
</RevListInfo>
<RevListInfo>
<ListID>----------</ListID>
<Version>----------</Version>
</RevListInfo>
<RevListInfo>
<ListID>----------</ListID>
<Version>----------</Version>
</RevListInfo>
<RevListInfo>
<ListID>----------</ListID>
<Version>----------</Version>
</RevListInfo>
</RevocationLists>
<LicenseNonce>----------</LicenseNonce>
<ClientTime>1641867102</ClientTime>
<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"></EncryptionMethod>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://schemas.microsoft.com/DRM/2007/03/protocols#ecc256"></EncryptionMethod>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>----------</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>----------</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>----------</CipherValue>
</CipherData>
</EncryptedData>
</LA>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod>
<SignatureMethod Algorithm="http://schemas.microsoft.com/DRM/2007/03/protocols#ecdsa-sha256"></SignatureMethod>
<Reference URI="#SignedData">
<DigestMethod Algorithm="http://schemas.microsoft.com/DRM/2007/03/protocols#sha256"></DigestMethod>
<DigestValue>----------</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>----------</SignatureValue>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyValue>
<ECCKeyValue>
<PublicKey>----------</PublicKey>
</ECCKeyValue>
</KeyValue>
</KeyInfo>
</Signature>
</Challenge>
</challenge>
</AcquireLicense>
</soap:Body>
</soap:Envelope>
1 answer
Sort by: Most helpful
-
Ebraheem Al-Muneyeer (MSFT) 951 Reputation points Microsoft Employee
2022-01-30T14:11:58.413+00:00