Compartilhar via


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

Logotipo dos Serviços de Mídia v3


Aviso

Os Serviços de Mídia do Azure serão desativados em 30 de junho de 2024. Para obter mais informações, consulte o Guia de Desativação do AMS.

Os Serviços de Mídia do Azure permitem criptografar o conteúdo HLS com Apple FairPlay Streaming (AES-128 CBC). Os Serviços de Mídia do Azure também fornecem um serviço para fornecer licenças do FairPlay. O FairPlay Streaming é uma tecnologia da Apple que está disponível somente para vídeo transferido por HLS (HTTP Live Streaming) em dispositivos iOS, na Apple TV e no Safari no macOS. Quando um cliente Apple tenta reproduzir conteúdo protegido pelo FairPlay no formato HLS, uma solicitação é enviada ao serviço de entrega de licenças para obter uma licença. Se o serviço de licença aprovar a solicitação, ele emite a licença que é enviada ao cliente e é usada para descriptografar e reproduzir o conteúdo especificado.

Os Serviços de Mídia também fornecem as APIs que podem ser usadas para configurar suas licenças do FairPlay. Este tópico aborda os requisitos de licença do FairPlay e demonstra como é possível configurar uma licença do FairPlay usando APIs dos Serviços de Mídia.

Requisitos

Os itens a seguir são necessários ao usar os Serviços de Mídia para criptografar o conteúdo HLS com Apple FairPlay e usar os Serviços de Mídia para fornecer licenças do FairPlay:

  • Inscreva-se no Programa de Desenvolvimento da Apple.

  • A Apple exige que o proprietário do conteúdo obtenha o pacote de implantação. Declare que você já implementou o KSM (Módulo de Segurança de Chave) com os Serviços de Mídia e que está solicitando o pacote final do FPS. Há instruções no pacote final do FPS para gerar certificação e obter a ASK (Chave de Segredo do Aplicativo). Você usa a ASK para configurar o FairPlay.

  • Os itens a seguir devem ser definidos no lado de entrega de chave/licença dos Serviços de Mídia:

    • AC (Certificado do Aplicativo): trata-se de um arquivo .pfx que contém a chave privada. Você cria esse arquivo e o criptografa com uma senha. O arquivo .pfx deve estar no formato Base64.

      As etapas a seguir descrevem como gerar um arquivo de certificado .pfx para FairPlay:

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

        Vá para a pasta onde se encontram o certificado FairPlay e outros arquivos enviados pela Apple.

      2. Execute o comando a seguir na linha de comando. Isso converte o arquivo .cer em um arquivo .pem.

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

      3. Execute o comando a seguir na linha de comando. Isso converte o arquivo .pem em um arquivo .pfx com a chave privada. A senha para o arquivo .pfx é solicitada 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

    • Senha do Certificado do Aplicativo: a senha para a criação do arquivo .pfx.

    • ASK: essa chave é recebida quando você gera a certificação usando o portal do Desenvolvedor da Apple. Cada equipe de desenvolvimento receberá uma ASK exclusiva. Salve uma cópia da ASK e armazene-a em um local seguro. É necessário configurar ASK como FairPlayAsk com Serviços de Mídia.

  • Os seguintes itens devem ser definidos pelo lado do cliente FPS:

    • AC (Certificado do Aplicativo): trata-se de um arquivo .cer/.der que contém a chave pública que o sistema operacional usa para criptografar conteúdo. Os Serviços de Mídia precisam ter conhecimento sobre ele, uma vez que ele é exibido pelo player. O serviço de distribuição de chaves descriptografa-o usando a chave privada correspondente.
  • Para reproduzir uma transmissão criptografada do FairPlay, obtenha a ASK real primeiro e, em seguida, gere um certificado real. Esse processo cria três partes:

    • arquivo .der
    • arquivo .pfx
    • senha do .pfx

Observação

Os serviços de mídia do Azure não verificam a data de validade do certificado durante o empacotamento ou entrega da chave. Ele continuará funcionando depois que a data de validade do certificado expirar.

Aplicativos Player e FairPlay

Quando o conteúdo é criptografado com Apple FairPlay, os exemplos individuais de áudio e vídeo são criptografadas usando o modo AES-128 CBC. FPS (FairPlay Streaming) é integrado aos sistemas operacionais de dispositivos, com suporte nativo no iOS e na Apple TV. O Safari no OS X habilita o FPS usando o suporte à interface EME (Extensões de Mídia Criptografada).

O Player de Mídia do Azure também dá suporte à reprodução do FairPlay. Para mais informações, consulte a documentação do Player de Mídia do Azure.

É possível desenvolver os próprios aplicativos de player usando SDK de iOS. Para poder reproduzir conteúdo do FairPlay, você precisa implementar o protocolo de troca de licenças. Esse protocolo não é especificado pela Apple. Depende de cada aplicativo o modo de enviar solicitações de distribuição de chaves. O serviço de distribuição de chaves do FairPlay nos Serviços de Mídia espera que o SPC seja recebido como um mensagem de postagem codificada www-form-url da seguinte forma:

spc=<Base64 encoded SPC>

Armazenar uma chave privada fairplay (.pfx) no Azure Key Vault

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

  • Primeiro, o arquivo de certificado .pfx deve ser convertido em um arquivo de texto base 64 pelo administrador
  • Após convertido, esse arquivo pode ser armazenado no Azure DevOps Services como um arquivo de texto seguro.
  • Em seguida, a cadeia de caracteres pode ser armazenada no Azure KeyVault manualmente como um "objeto secreto" ou como parte de um script de implantação/build para a solução. Um exemplo de armazenamento do certificado privado do FairPlay no Azure KeyVault pode ser visto no código de exemplo do projeto Gridwich
  • Opcionalmente, armazene a senha do arquivo .pfx como um segredo no cofre de chaves.

Exemplo de script da CLI

Para copiar o arquivo de chave privada codificado em 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

Você pode entrar em contato com os Serviços de Mídia com perguntas ou seguir nossas atualizações por um dos seguintes métodos: