Requisitos e configuração de licença do Apple FairPlay
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:
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.
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
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:
- P & R
-
Stack Overflow. Marque perguntas com
azure-media-services
. - @MSFTAzureMedia ou use @AzureSupport para solicitar suporte.
- Abra um tíquete de suporte por meio do portal do Azure.