Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O processo de obtenção de uma licença para reproduzir conteúdo protegido por PlayReady é tratado por um servidor de licenças PlayReady. O servidor PlayReady contém o manipulador que autoriza a reprodução do cliente protegido PlayReady. Ele faz isso fornecendo a chave de criptografia que desbloqueia o conteúdo criptografado que o cliente solicita para reproduzir. Além disso, a resposta do PlayReady License Server contém os direitos e restrições de direitos para esse conteúdo.
A figura a seguir mostra as etapas que descrevem como um cliente obtém uma licença de um serviço de licença PlayReady.
- O cliente obtém mídia para ser reproduzida.
- O cliente inicia uma solicitação de licença do serviço de licença PlayReady. O cliente pode solicitar proativamente a licença antes de reproduzir o conteúdo ou solicitar a licença reativamente assim que descobrir que uma licença é necessária após o início da reprodução.
- O PlayReady License Server recebe a solicitação do cliente e processa a solicitação de licença.
- O PlayReady License Server envia a resposta à solicitação de volta para o cliente. A resposta da licença conterá a chave para desbloquear a mídia criptografada, juntamente com um conjunto de direitos e restrições de direitos que especificam exatamente o que pode ser reproduzido.
- O cliente recebe a resposta da licença, analisa os direitos e restrições de direitos e inicia a reprodução.
Desenvolvimento e Implementação de um Servidor de Licenças PlayReady
Você não é obrigado a desenvolver e implantar seu próprio serviço de licença PlayReady. Você pode obter esses serviços de terceiros, como um Parceiro PlayReady. No entanto, se você decidir desenvolver seu próprio serviço de licença PlayReady, a Microsoft fornece o PlayReady Server Software Development Kit (SDK) gratuitamente para aqueles que desejam programar seu próprio PlayReady License Server. Observe que um servidor de licenças PlayReady só é executado no Windows Server.
Um PlayReady License Server pode ser desenvolvido e implantado de várias maneiras:
- Desenvolva o Servidor de Licenças você mesmo ou através de terceiros.
- Opere o Servidor de Licenças você mesmo ou por meio de um provedor de serviços de aplicativo (ASP).
- Implante em um servidor físico ou virtual.
- Implante no local, em uma nuvem privada ou em uma nuvem pública.
O PlayReady Server SDK fornece a seguinte funcionalidade para Servidores de Licenças:
- A tecnologia integra-se em qualquer infraestrutura de rede (proxies e assim por diante).
- A tecnologia integra-se com qualquer serviço web ou lógica.
- Fornecido como bibliotecas do Windows Server, além de código C# no SDK. Inclui manipuladores de exemplo no código-fonte.
Exemplos
A seguir está um exemplo de solicitação de licença:
<?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>jADgM0TEcEeYmaMh4HndNg==</KID>
</DATA>
</WRMHEADER>
</ContentHeader>
<CLIENTINFO>
<CLIENTVERSION>3.1.0.1017</CLIENTVERSION>
</CLIENTINFO>
<RevocationLists>
<RevListInfo><ListID>ioydTlK2p0WXkWklprR5Hw==</ListID><Version>0</Version></RevListInfo>
<RevListInfo><ListID>gC4IKKPHsUCCVhnlttibJw==</ListID><Version>0</Version></RevListInfo>
<RevListInfo><ListID>Ef/RUojT3U6Ct2jqTCChbA==</ListID><Version>0</Version></RevListInfo>
<RevListInfo><ListID>BOZ1zT1UnEqfCf5tJOi/kA==</ListID><Version>0</Version></RevListInfo>
</RevocationLists>
<CustomData>User=Roland</CustomData>
<LicenseNonce>7GYVLC7wvGVR0nqGYXs4DQ==</LicenseNonce>
<ClientTime>1446224160</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>WMRMServer</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>Yt2ys5Fp83ayPvva8kT2THtEGze5se5YWaP======</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>uLdvYtc5oRk/MD0Dy72ZKH8PuHRI2RBzygKJHGu/M4boyiPOpMQnNlFB30qADHzND7fDwSfZGbOgP/g9OaT1LYDWHU/vq7f0CtiWddtwDSleb651HyQYOmWCcBSY9SVrjXXKITMsQL8PBXQh3O90GZSzS3UKo8OcyhO/yCmTsVWs0EYE98ikWjaPJfoQdvjSfklLjeveqGHhY7YZiSDMTksguLIMycsSTbGelL0P6IIDL7dj===========</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>NnkxTbC9yLGwYWSRfOz3VqKRYd62AGqTnwpSHsCklhI=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>Av2+yCEBdJD9+euMzGzuPb5rYgPlXNszEEr+cF7LwbE/Kln1e8JyhAEdIy14z4U43/oQMvMg40QaOAqv3ElM2g==</SignatureValue>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyValue>
<ECCKeyValue>
<PublicKey>nrZWFO4ExmBomY+Xu5sATbSRi+tjRqMC+bVaKwn5ZAkdoER3nn8eE+yxXA0CkuhhmAmAqYDX7RY2q+MbAvoZuA==</PublicKey>
</ECCKeyValue>
</KeyValue>
</KeyInfo>
</Signature>
</Challenge>
</challenge>
</AcquireLicense>
</soap:Body>
</soap:Envelope>
Esta é uma amostra de resposta de licença:
<?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>WE1SAAAAAANryW57jI0QQJItXt7rxagIAAMAAQAAAWIAAgAEAAAACAADAAIAAABEAAEAEgAAABAAAAAAVjOhZgAAABMAAAAMVjOhKgABADIAAAAMAAAAHgABADQAAAAKB9AAAAAzAAAACgABAAMACQAAAPIAAQAKAAAAnowA4DNExHBHmJmjIeB53TYAAQADAIAKFe+fsiOCUo/ndSfV1p0YK1qzUAgypRhiMUObPbmJ+P3GMFziaM+O0jHVttk0TAxxGsreh3PumUKJJ1CYMCYGJSgFm7ceuCsOxRBKCJcH+jGVlocmKMw0zrG41DeTrgDLw/rDDEDtmQvIwezIcwUwqWFxq7o5+kYWA4TdwTZNRAAAACoAAABMAAEAQOSjiOqgw3D8yP0vsKUOkh9SDIb3OghTm5812xCi7Y1q+Yr2U6KPQAUDgandzhhSKvebDjmWCIhxcjv+cIE5WIsAAQALAAAAHAABABBDCGMQnJ3JfqzT5K+5nS5k</License>
</Licenses>
<RevInfo>
<Revocation>
<ListID>ioydTlK2p0WXkWklprR5Hw==</ListID>
<ListData>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</ListData>
</Revocation>
<Revocation>
<ListID>gC4IKKPHsUCCVhnlttibJw==</ListID>
<ListData>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</ListData>
</Revocation>
<Revocation>
<ListID>Ef/RUojT3U6Ct2jqTCChbA==</ListID>
<ListData>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</ListData>
</Revocation>
<Revocation>
<ListID>BOZ1zT1UnEqfCf5tJOi/kA==</ListID>
<ListData>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</ListData>
</Revocation>
</RevInfo>
<Acknowledgement>
<TransactionID>265e4a30-72f9-4f46-b41e-102a21ac4bc9</TransactionID>
</Acknowledgement>
<LicenseNonce>7GYVLC7wvGVR0nqGYXs4DQ==</LicenseNonce>
<ResponseID>8qXNFxP4rrn+Rkx3rFTDYQZnfLMkJOm04N2JjWIXZ90=</ResponseID>
<SigningCertificateChain>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</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>H9QaFwGEr4BnkJX0nRoztartIba7dcvEU5G1vYu9jTs=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>IVN3sGMpJ+O/3c1eLXRpEi1s7EuRGDLG/hLLdbLvHq7g/vzKEzw0NH0eB5MUiYuD9HaZlYZVbNGxaX74qed+Hw==</SignatureValue>
</Signature>
</Response>
</AcquireLicenseResult>
</AcquireLicenseResponse>
</soap:Body>
</soap:Envelope>