Compartir a través de


Configuración y requisitos de licencia de FairPlay de Apple

Logotipo de Media Services v3


Advertencia

Azure Media Services se retirará el 30 de junio de 2024. Para obtener más información, consulte la Guía de retirada de AMS.

Azure Media Services le permite cifrar el contenido HLS con Apple FairPlay Streaming (AES-128 CBC). Asimismo, Media Services también proporciona un servicio para entregar licencias de FairPlay. FairPlay Streaming es una tecnología de Apple que solo está disponible para el vídeo transferido a través de HTTP Live Streaming (HLS) en dispositivos iOS, en Apple TV y en Safari en macOS. Cuando un cliente de Apple intenta reproducir contenido protegido por FairPlay en formato HLS, se envía una solicitud al servicio de entrega de licencias para obtener una licencia. Si el servicio de licencia aprueba la solicitud, emite la licencia, la que se envía al cliente y se usa para descifrar y reproducir el contenido especificado.

Media Services también proporciona las API que puede usar para configurar sus licencias de FairPlay. En este tema se describen los requisitos de licencia de FairPlay y se muestra cómo puede configurar una licencia de FairPlay mediante las API de Media Services.

Requisitos

Cuando se usa Media Services para proporcionar HLS cifrado con FairPlay de Apple y entregar licencias de FairPlay, se necesita lo siguiente:

  • Suscríbase al programa de desarrollo de Apple.

  • En Apple es obligatorio que el propietario del contenido obtenga el paquete de implementación. Indique que ya ha implementado el módulo principal de seguridad (KSM) con Media Services y que está solicitando el paquete FPS final. Hay instrucciones que aparecen en el paquete FPS final para generar certificados y obtener la clave secreta de la aplicación (ASK). Utilice la ASK para configurar FairPlay.

  • En la entrega de claves o licencias de Media Services se debe establecer lo siguiente:

    • Certificado de aplicación (CA) : Se trata de un archivo .pfx que contiene la clave privada. Puede crear este archivo y cifrarlo con una contraseña. El archivo .pfx debe estar en formato Base64.

      En los pasos siguientes se describe cómo generar un certificado pfx para FairPlay:

      1. Instale OpenSSL desde https://slproweb.com/products/Win32OpenSSL.html.

        Vaya a la carpeta donde están los certificados FairPlay y otros archivos cuyo emisor sea Apple.

      2. Ejecute el siguiente comando desde la línea de comando. Esto convierte el archivo .cer en un archivo .pem.

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

      3. Ejecute el siguiente comando desde la línea de comando. Esto convierte el archivo .pem a un archivo .pfx con la clave privada. A continuación, OpenSSL pide la contraseña para el archivo .pfx.

        "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

    • Contraseña de certificado de la aplicación: La contraseña para crear el archivo .pfx.

    • ASK: Esta clave se recibe cuando se genera la certificación mediante el portal para desarrolladores de Apple (Apple Developer). Cada equipo de desarrollo recibe una única ASK. Guarde una copia de la ASK y almacénela en un lugar seguro. Necesita configurar la ASK como FairPlayAsk con Media Services.

  • En el lado cliente FPS se debe establecer lo siguiente:

    • Certificado de aplicación (CA) : Se trata de un archivo .cer/.der que contiene la clave pública que el sistema operativo usa para cifrar alguna carga útil. Media Services necesita tener información sobre él porque lo necesita el reproductor. El servicio de entrega de claves lo descifra utilizando la clave privada correspondiente.
  • Para reproducir una transmisión cifrada FairPlay, obtenga primero la ASK real y luego genere un certificado real. Este proceso crea todas las tres partes:

    • archivo .der
    • archivo .pfx
    • la contraseña para el archivo .pfx

Nota

Azure Media Services no comprueba la fecha de expiración del certificado durante el empaquetado ni la entrega de claves. Seguirá funcionando después de que expire el certificado.

Aplicaciones de reproductor y de FairPlay

Cuando el contenido está cifrado con FairPlay de Apple, las muestras de audio y vídeo individuales se cifran con el modo AES-128 CBC. FairPlay Streaming (FPS) se integra en los sistemas operativos de dispositivos, con compatibilidad nativa en iOS y TV de Apple. Safari en OS X habilita FPS utilizando la compatibilidad con la interfaz Encrypted Media Extensions (EME).

Azure Media Player admite la reproducción de FairPlay. Consulte la documentación de Azure Media Player para obtener más información.

Puede desarrollar sus propias aplicaciones de reproducción gracias al SDK de iOS. Para poder reproducir el contenido de FairPlay, tiene que implementar el protocolo de intercambio de licencias. Apple no especifica este protocolo. Depende de cada aplicación decidir cómo enviar las solicitudes de entrega de claves. El servicio de entrega de claves de FairPlay de Media Services espera que SPC funcione como mensaje de publicación codificado www-form-url con el formato siguiente:

spc=<Base64 encoded SPC>

Almacenamiento de una clave privada de FairPlay (.pfx) en Azure Key Vault

La clave privada (.pfx) que se recibe de Apple debe tratarse como un certificado seguro y se puede almacenar en Azure Key Vault.

  • El administrador debe convertir primero el archivo de certificado .pfx en un archivo de texto codificado en base 64.
  • Una vez convertido, este archivo se puede almacenar en Azure DevOps Services como un archivo de texto seguro.
  • Después, la cadena se puede almacenar en Azure KeyVault manualmente como un "objeto secreto" o como parte de un script de implementación o compilación para la solución. Se puede ver un ejemplo de almacenamiento del certificado privado de FairPlay en Azure KeyVault en el código de ejemplo del proyecto de Gridwich.
  • Opcionalmente, almacene la contraseña del archivo .pfx como un secreto en el almacén de claves.

Script de la CLI de ejemplo

Para copiar el archivo de clave privada codificada en base64 en 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

Obtener ayuda y soporte técnico

Puede ponerse en contacto con Media Services con preguntas o seguir nuestras actualizaciones mediante uno de los métodos siguientes: