Licenskrav för och konfiguration av Apple FairPlay

Media Services-logotyp v3


Varning

Azure Media Services dras tillbaka den 30 juni 2024. Mer information finns i AMS Pensionsguide.

Med Azure Media Services kan du kryptera ditt HLS-innehåll med Apple FairPlay Streaming (AES-128 CBC). Media Services tillhandahåller också en tjänst för att leverera FairPlay-licenser. FairPlay Streaming är en Apple-teknik som endast är tillgänglig för video som överförs via HTTP Live Streaming (HLS) på iOS-enheter, i Apple TV och i Safari på macOS. När en Apple-klient försöker spela upp ditt FairPlay-skyddade innehåll via HLS-format skickas en begäran till licensleveranstjänsten för att få en licens. Om licenstjänsten godkänner begäran utfärdar den den licens som skickas till klienten och används för att dekryptera och spela upp det angivna innehållet.

Media Services tillhandahåller även API:er som du kan använda för att konfigurera dina FairPlay-licenser. Det här avsnittet beskriver licenskraven för FairPlay och visar hur du kan konfigurera en FairPlay-licens med hjälp av Media Services-API:er.

Krav

Följande krävs när du använder Media Services för att kryptera ditt HLS-innehåll med Apple FairPlay och använda Media Services för att leverera FairPlay-licenser:

  • Registrera dig med Apple Development Program.

  • Apple kräver att innehållsägaren hämtar distributionspaketet. Ange att du redan har implementerat KSM (Key Security Module) med Media Services och att du begär det slutliga FPS-paketet. Det finns instruktioner i det slutliga FPS-paketet för att generera certifiering och hämta application secret key (ASK). Du använder ASK för att konfigurera FairPlay.

  • Följande saker måste anges på Media Services-nyckel/licensleveranssidan:

    • Appcertifikat (AC): Det här är en .pfx-fil som innehåller den privata nyckeln. Du skapar den här filen och krypterar den med ett lösenord. PFX-filen ska vara i Base64-format.

      Följande steg beskriver hur du genererar en .pfx-certifikatfil för FairPlay:

      1. Installera OpenSSL från https://slproweb.com/products/Win32OpenSSL.html.

        Gå till mappen där FairPlay-certifikatet och andra filer som levereras av Apple finns.

      2. Kör följande kommando från kommandoraden. Detta konverterar .cer-filen till en .pem-fil.

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

      3. Kör följande kommando från kommandoraden. Detta konverterar .pem-filen till en .pfx-fil med den privata nyckeln. Lösenordet för .pfx-filen efterfrågas sedan av 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

    • Lösenord för appcertifikat: Lösenordet för att skapa .pfx-filen.

    • FRÅGA: Den här nyckeln tas emot när du genererar certifieringen med hjälp av Apple Developer-portalen. Varje utvecklingsteam får en unik ASK. Spara en kopia av ASK och lagra den på en säker plats. Du måste konfigurera ASK som FairPlayAsk med Media Services.

  • Följande saker måste anges av FPS-klientsidan:

    • Appcertifikat (AC): Det här är en .cer/.der-fil som innehåller den offentliga nyckeln, som operativsystemet använder för att kryptera viss nyttolast. Media Services behöver veta om det eftersom det krävs av spelaren. Nyckelleveranstjänsten dekrypterar den med hjälp av motsvarande privata nyckel.
  • Om du vill spela upp en FairPlay-krypterad dataström hämtar du en riktig ASK först och genererar sedan ett riktigt certifikat. Den processen skapar alla tre delarna:

    • .der-fil
    • .pfx-fil
    • lösenord för .pfx

Anteckning

Azure Media Services kontrollerar inte certifikatets förfallodatum under paketering eller nyckelleverans. Det fortsätter att fungera när certifikatet har upphört att gälla.

FairPlay- och spelarappar

När ditt innehåll krypteras med Apple FairPlay krypteras de enskilda video- och ljudexemplen med hjälp av CBC-läget AES-128 . FairPlay Streaming (FPS) är integrerat i enhetens operativsystem, med inbyggt stöd på iOS och Apple TV. Safari på OS X aktiverar FPS med hjälp av eme-gränssnittet (Encrypted Media Extensions).

Azure Media Player stöder även FairPlay-uppspelning. Mer information finns i Dokumentation om Azure Media Player.

Du kan utveckla dina egna spelarappar med hjälp av iOS SDK. För att kunna spela FairPlay-innehåll måste du implementera licensutbytesprotokollet. Det här protokollet anges inte av Apple. Det är upp till varje app hur du skickar begäranden om nyckelleverans. Media Services FairPlay-nyckelleveranstjänsten förväntar sig att SPC kommer som ett www-form-url-kodat postmeddelande i följande form:

spc=<Base64 encoded SPC>

Lagra en privat FairPlay-nyckel (.pfx) i Azure Key Vault

Den privata nyckeln (.pfx) som du får från Apple ska behandlas som ett säkert certifikat och kan lagras i Azure-Key Vault.

  • .pfx-certifikatfilen ska först konverteras till en grundläggande 64-textfil av administratören
  • När den här filen har konverterats kan den lagras i Azure DevOps Services som en säker textfil.
  • Strängen kan sedan lagras i Azure KeyVault manuellt som ett "hemligt objekt" eller som en del av ett distributions-/byggskript för din lösning. Ett exempel på hur du lagrar det privata FairPlay-certifikatet i Azure KeyVault visas i exempelkoden för Gridwich-projektet
  • Du kan också lagra lösenordet för PFX-filen som en hemlighet i nyckelvalvet.

Exempel på CLI-skript

Kopiera den base64-kodade privata nyckelfilen till 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

Få hjälp och support

Du kan kontakta Media Services med frågor eller följa våra uppdateringar med någon av följande metoder: