Requisitos de licença e configuração do Apple FairPlay
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:
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.
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
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:
- Q & A
-
Stack Overflow. Perguntas sobre etiquetas com
azure-media-services
. - @MSFTAzureMedia ou utilize @AzureSupport para pedir suporte.
- Abra um pedido de suporte através do portal do Azure.