Configurazione e requisiti della licenza Apple FairPlay

Logo di Servizi multimediali v3


Avviso

Servizi multimediali di Azure verrà ritirato il 30 giugno 2024. Per altre informazioni, vedere la Guida al ritiro di AMS.

Servizi multimediali di Azure consente di crittografare il contenuto HLS con Apple FairPlay Streaming (AES-128 CBC). Servizi multimediali offre inoltre un servizio per la distribuzione delle licenze FairPlay. FairPlay Streaming è una tecnologia Apple disponibile solo per i video trasferiti su HTTP Live Streaming (HLS) nei dispositivi iOS, in Apple TV e in Safari in macOS. Quando un client Apple tenta di riprodurre il contenuto protetto da FairPlay in formato HLS, viene inviata una richiesta al servizio di distribuzione delle licenze per ottenere una licenza. Se il servizio licenze approva la richiesta, la licenza viene rilasciata e inviata al client e verrà usata per decrittografare e riprodurre il contenuto specificato.

Servizi multimediali offre anche API utili per configurare le licenze FairPlay. Questo argomento illustra i requisiti delle licenze FairPlay e come è possibile configurare una licenza FairPlay tramite le API di Servizi multimediali.

Requisiti

Se si usa Servizi multimediali per crittografare il contenuto HLS crittografato con Apple FairPlay e per distribuire licenze FairPlay, è necessario:

  • Eseguire l'iscrizione all' Apple Development Program.

  • Apple richiede che il proprietario del contenuto ottenga il pacchetto di distribuzione. Indicare che è già stato implementato il modulo KSM (Key Security Module) con Servizi multimediali e che si sta richiedendo il pacchetto FPS finale. Il pacchetto FPS finale contiene istruzioni per generare la certificazione e ottenere la chiave privata dell'applicazione, che verrà usata per configurare FairPlay.

  • È necessario impostare quanto segue in aggiunta alla distribuzione delle chiavi/licenze di Servizi multimediali:

    • App Cert (AC): file con estensione pfx contenente la chiave privata. Creare il file e crittografarlo con una password. Il file con estensione pfx deve avere il formato Base64.

      La procedura seguente descrive come generare un file di certificato pfx per FairPlay:

      1. Installare OpenSSL da https://slproweb.com/products/Win32OpenSSL.html.

        Passare alla cartella contenente il certificato FairPlay e altri file forniti da Apple.

      2. Eseguire il comando seguente dalla riga di comando. Il comando converte il file con estensione cer in un file con estensione pem.

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

      3. Eseguire il comando seguente dalla riga di comando. Questo comando converte il file con estensione pem in un file con estensione pfx con la chiave privata. La password per il file con estensione pfx viene quindi richiesta da 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

    • App Cert password: password del cliente per creare il file con estensione pfx.

    • ASK: chiave ricevuta quando si genera la certificazione usando il portale Apple Developer. Ogni team di sviluppo riceve una chiave ASK univoca. Salvare una copia della chiave ASK e archiviarla in un luogo sicuro. È necessario configurare la chiave ASK come FairPlayAsk in Servizi multimediali.

  • Sul lato client FPS è necessario impostare quanto segue:

    • App Cert (AC): file con estensione cer/der contenente la chiave pubblica usata dal sistema operativo per crittografare alcuni payload. È necessario che Servizi multimediali lo riconosca perché è richiesto dal lettore. Il servizio di distribuzione delle chiavi lo decrittografa usando la chiave privata corrispondente.
  • Per riprodurre un flusso crittografato FairPlay, ottenere prima una chiave privata dell'applicazione reale, quindi generare un certificato reale. Questo processo crea tutte le 3 parti:

    • file con estensione der
    • file con estensione pfx
    • password per il file pfx

Nota

Servizi multimediali di Azure non controlla la data di scadenza del certificato durante la creazione di pacchetti o il recapito delle chiavi. Continuerà a funzionare dopo la scadenza del certificato.

App di FairPlay e del lettore

Se il contenuto viene crittografato con Apple FairPlay, i singoli campioni audio e video vengono crittografati con la modalità AES-128 CBC. FairPlay Streaming (FPS) è integrato nei sistemi operativi dei dispositivi, con supporto nativo per iOS e Apple TV. Safari su OS X abilita FPS con il supporto dell'interfaccia EME (Encrypted Media Extensions).

Azure Media Player supporta inoltre la riproduzione FairPlay. Vedere la documentazione di Azure Media Player per altre informazioni.

È possibile sviluppare applicazioni lettore usando l'SDK per iOS. Per riprodurre contenuto FairPlay, è necessario implementare il protocollo di scambio delle licenze. Questo protocollo non è specificato da Apple. Spetta a ogni app scegliere come inviare le richieste di distribuzione delle chiavi. Il servizio di distribuzione delle chiavi FairPlay di Servizi multimediali prevede che SPC venga indicato in un messaggio codificato come www-form-url nel formato seguente:

spc=<Base64 encoded SPC>

Archiviare una chiave privata FairPlay (con estensione pfx) in Azure Key Vault

La chiave privata (con estensione pfx) ricevuta da Apple deve essere considerata come un certificato sicuro e può essere archiviata nel Key Vault di Azure.

  • Il file di certificato pfx deve essere prima convertito in file di testo base 64 dall'amministratore
  • Una volta convertito, questo file può essere archiviato in Azure DevOps Services come file di testo sicuro.
  • La stringa può quindi essere archiviata manualmente in Azure KeyVault come "oggetto segreto" o come parte di uno script di distribuzione/compilazione per la soluzione. Un esempio di archiviazione del certificato privato FairPlay in Azure KeyVault è disponibile nel codice di esempio del progetto Gridwich
  • Facoltativamente, archiviare la password per il file pfx come segreto nell'insieme di credenziali delle chiavi.

Script dell'interfaccia della riga di comando di esempio

Per copiare il file di chiave privata con codifica Base64 in 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

Guida e supporto tecnico

È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti tramite uno dei metodi seguenti: