Partilhar via


Requisitos de licença e configuração do Apple FairPlay

Logótipo dos Serviços de Multimédia v3


Aviso

Os Serviços de Multimédia do Azure serão descontinuados a 30 de junho de 2024. Para obter mais informações, veja o Guia de Extinção do AMS.

Os Serviços de Multimédia do Azure permitem-lhe encriptar o seu conteúdo HLS com a Transmissão em Fluxo do Apple FairPlay (AES-128 CBC). Os Serviços de Multimédia também fornecem um serviço para a entrega de licenças do FairPlay. O FairPlay Streaming é uma tecnologia da Apple que só está disponível para vídeo transferido através de HTTP Live Streaming (HLS) em dispositivos iOS, na Apple TV e no Safari no macOS. Quando um cliente da Apple tenta reproduzir o seu conteúdo protegido pelo FairPlay através do formato HLS, é enviado um pedido para o serviço de entrega de licenças para obter uma licença. Se o serviço de licença aprovar o pedido, emite a licença que é enviada para o cliente e é utilizada para desencriptar e reproduzir o conteúdo especificado.

Os Serviços de Multimédia também fornecem APIs que pode utilizar para configurar as suas licenças do FairPlay. Este tópico aborda os requisitos de licença do FairPlay e demonstra como pode configurar uma licença do FairPlay com as APIs dos Serviços de Multimédia.

Requisitos

São necessários os seguintes procedimentos ao utilizar os Serviços de Multimédia para encriptar o seu conteúdo HLS com o Apple FairPlay e utilizar os Serviços de Multimédia para fornecer licenças do FairPlay:

  • Inscreva-se no Programa de Desenvolvimento da Apple.

  • A Apple requer que o proprietário do conteúdo obtenha o pacote de implementação. Indique que já implementou o Key Security Module (KSM) com os Serviços de Multimédia e que está a pedir o pacote FPS final. Existem instruções no pacote FPS final para gerar certificação e obter a Chave Secreta da Aplicação (ASK). Utiliza a função ASK para configurar o FairPlay.

  • Os seguintes itens têm de ser definidos no lado da chave/entrega de licenças dos Serviços de Multimédia:

    • Certificado de Aplicação (AC): este é um ficheiro .pfx que contém a chave privada. Crie este ficheiro e encripte-o com uma palavra-passe. O ficheiro .pfx deve estar no formato Base64.

      Os passos seguintes descrevem como gerar um ficheiro de certificado .pfx para o FairPlay:

      1. Instale o OpenSSL a partir de https://slproweb.com/products/Win32OpenSSL.html.

        Aceda à pasta onde se encontram o certificado do FairPlay e outros ficheiros entregues pela Apple.

      2. Execute o comando seguinte a partir da linha de comandos. Isto converte o ficheiro .cer num ficheiro .pem.

        "C:\OpenSSL-Win32\bin\openssl.exe" x509 -inform der -in FairPlay.cer -out FairPlay-out.pem

      3. Execute o comando seguinte a partir da linha de comandos. Isto converte o ficheiro .pem num ficheiro .pfx com a chave privada. A palavra-passe do ficheiro .pfx é pedida pelo OpenSSL.

        "C:\OpenSSL-Win32\bin\openssl.exe" pkcs12 -export -out FairPlay-out.pfx -inkey privatekey.pem -in FairPlay-out.pem -passin file:privatekey-pem-pass.txt

    • Palavra-passe do Certificado de Aplicação: a palavra-passe para criar o ficheiro .pfx.

    • ASK: esta chave é recebida quando gera a certificação através do portal do Programador da Apple. Cada equipa de desenvolvimento recebe um ASK exclusivo. Guarde uma cópia do ASK e armazene-a num local seguro. Tem de configurar ASK como FairPlayAsk com os Serviços de Multimédia.

  • Os seguintes itens têm de ser definidos pelo lado do cliente FPS:

    • Certificado de Aplicação (AC): este é um ficheiro .cer/.der que contém a chave pública, que o sistema operativo utiliza para encriptar algum payload. Os Serviços de Multimédia têm de o saber porque são necessários pelo leitor. O serviço de entrega de chaves desencripta-o com a chave privada correspondente.
  • Para reproduzir um fluxo encriptado do FairPlay, obtenha primeiro um ASK real e, em seguida, gere um certificado real. Este processo cria as três partes:

    • Ficheiro .der
    • Ficheiro .pfx
    • palavra-passe do .pfx

Nota

Os Serviços de Multimédia do Azure não verificam a data de expiração do certificado durante o empacotamento ou a entrega da chave. Continuará a funcionar depois de o certificado expirar.

FairPlay e aplicações de jogadores

Quando os seus conteúdos são encriptados com o Apple FairPlay, os exemplos individuais de vídeo e áudio são encriptados através do modo AES-128 CBC . O FairPlay Streaming (FPS) está integrado nos sistemas operativos do dispositivo, com suporte nativo para iOS e Apple TV. O Safari no OS X ativa o FPS através do suporte de interface de Extensões de Multimédia Encriptadas (EME).

O Leitor de Multimédia do Azure também suporta a reprodução do FairPlay. Para obter mais informações, veja a documentação do Leitor de Multimédia do Azure.

Pode desenvolver as suas próprias aplicações de leitor com o SDK iOS. Para poder reproduzir conteúdos do FairPlay, tem de implementar o protocolo de troca de licenças. Este protocolo não é especificado pela Apple. Cabe a cada aplicação enviar pedidos de entrega de chaves. O serviço de entrega de chaves fairPlay dos Serviços de Multimédia espera que o SPC venha como uma mensagem post codificada www-form-url, da seguinte forma:

spc=<Base64 encoded SPC>

Armazenar uma Chave Privada do FairPlay (.pfx) no Azure Key Vault

A chave privada (.pfx) que recebe da Apple deve ser tratada como um certificado seguro e pode ser armazenada no Azure Key Vault.

  • Primeiro, o ficheiro de certificado .pfx deve ser convertido para o ficheiro de texto base 64 pelo administrador
  • Depois de convertido, este ficheiro pode ser armazenado nos Serviços do Azure DevOps como um ficheiro de texto seguro.
  • Em seguida, a cadeia pode ser armazenada no Azure KeyVault manualmente como um "objeto secreto" ou como parte de um script de implementação/compilação para a sua solução. Pode ver um exemplo de armazenamento do certificado privado fairPlay no Azure KeyVault no código de exemplo do projeto Gridwich
  • Opcionalmente, armazene a palavra-passe do ficheiro .pfx como segredo no cofre de chaves.

Script da CLI de exemplo

Para copiar o ficheiro de chave privada codificada base64 para o Azure KeyVault:

set -eu
echo key vault : $SHARED_KV_NAME
echo "Copying FairPlay certificate to key vault as secret"
az keyvault secret set --vault-name $SHARED_KV_NAME -n ams-fairPlay-certificate-b64 -f $(FairPlayCertificate.secureFilePath) --output none

Obter ajuda e suporte

Pode contactar os Serviços de Multimédia com perguntas ou seguir as nossas atualizações através de um dos seguintes métodos: