Wymagania licencyjne i konfiguracja technologii FairPlay firmy Apple

Logo usługi Media Services w wersji 3


Ostrzeżenie

Usługa Azure Media Services zostanie wycofana 30 czerwca 2024 r. Aby uzyskać więcej informacji, zobacz Przewodnik po wycofaniu usługi AMS.

Usługa Azure Media Services umożliwia szyfrowanie zawartości HLS za pomocą usługi Apple FairPlay Streaming (AES-128 CBC). Usługa Media Services udostępnia również usługę dostarczania licencji FairPlay. FairPlay Streaming to technologia firmy Apple, która jest dostępna tylko dla wideo przesyłanego przez HTTP Live Streaming (HLS) na urządzeniach z systemem iOS, w usłudze Apple TV i w przeglądarce Safari w systemie macOS. Gdy klient firmy Apple próbuje odtworzyć zawartość chronioną przez funkcję FairPlay w formacie HLS, żądanie jest wysyłane do usługi dostarczania licencji w celu uzyskania licencji. Jeśli usługa licencji zatwierdzi żądanie, wystawia licencję, która jest wysyłana do klienta i jest używana do odszyfrowywania i odtwarzania określonej zawartości.

Usługa Media Services udostępnia również interfejsy API, których można użyć do skonfigurowania licencji FairPlay. W tym temacie omówiono wymagania licencyjne FairPlay i pokazano, jak można skonfigurować licencję FairPlay przy użyciu interfejsów API usługi Media Services.

Wymagania

W przypadku używania usługi Media Services do szyfrowania zawartości HLS za pomocą programu Apple FairPlay i używania usługi Media Services do dostarczania licencji FairPlay:

  • Zarejestruj się w programie Apple Development Program.

  • Firma Apple wymaga, aby właściciel zawartości uzyskał pakiet wdrożeniowy. Stan, że zaimplementowano już moduł zabezpieczeń kluczy (KSM) z usługą Media Services i że żądasz końcowego pakietu FP. Istnieją instrukcje w ostatnim pakiecie FPS w celu wygenerowania certyfikatu i uzyskania klucza tajnego aplikacji (ASK). Użyj polecenia ASK, aby skonfigurować funkcję FairPlay.

  • Następujące elementy należy ustawić po stronie dostarczania klucza/licencji usługi Media Services:

    • Certyfikat aplikacji (AC): jest to plik pfx zawierający klucz prywatny. Ten plik zostanie utworzony i zaszyfrowany przy użyciu hasła. Plik PFX powinien mieć format Base64.

      W poniższych krokach opisano sposób generowania pliku certyfikatu pfx dla technologii FairPlay:

      1. Zainstaluj program OpenSSL z pliku https://slproweb.com/products/Win32OpenSSL.html.

        Przejdź do folderu, w którym znajdują się certyfikat FairPlay i inne pliki dostarczone przez firmę Apple.

      2. W wierszu polecenia uruchom następujące polecenie. Spowoduje to przekonwertowanie pliku .cer na plik pem.

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

      3. W wierszu polecenia uruchom następujące polecenie. Spowoduje to przekonwertowanie pliku pem na plik pfx przy użyciu klucza prywatnego. Hasło do pliku pfx jest następnie monitowane przez protokół 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

    • Hasło certyfikatu aplikacji: hasło do tworzenia pliku pfx.

    • ASK: Ten klucz jest odbierany podczas generowania certyfikatu przy użyciu portalu dla deweloperów firmy Apple. Każdy zespół programistyczny otrzymuje unikatowe pytanie. Zapisz kopię pliku ASK i zapisz ją w bezpiecznym miejscu. Należy skonfigurować funkcję ASK jako FairPlayAsk z usługą Media Services.

  • Należy ustawić następujące elementy po stronie klienta FPS:

    • Certyfikat aplikacji (AC): jest to plik .cer/.der zawierający klucz publiczny, którego system operacyjny używa do szyfrowania ładunku. Usługa Media Services musi wiedzieć o tym, ponieważ jest wymagana przez odtwarzacz. Usługa dostarczania kluczy odszyfrowuje ją przy użyciu odpowiedniego klucza prywatnego.
  • Aby odtworzyć zaszyfrowany strumień FairPlay, najpierw uzyskaj prawdziwe pytanie, a następnie wygeneruj prawdziwy certyfikat. Ten proces tworzy wszystkie trzy części:

    • Plik .der
    • Plik pfx
    • hasło dla pliku pfx

Uwaga

Usługa Azure Media Services nie sprawdza daty wygaśnięcia certyfikatu podczas pakowania ani dostarczania kluczy. Będzie nadal działać po wygaśnięciu certyfikatu.

Aplikacje FairPlay i odtwarzacza

Gdy zawartość jest szyfrowana za pomocą funkcji FairPlay firmy Apple, poszczególne próbki wideo i audio są szyfrowane przy użyciu trybu AES-128 CBC . Technologia FairPlay Streaming (FPS) jest zintegrowana z systemami operacyjnymi urządzeń z natywną obsługą systemów iOS i Apple TV. Przeglądarka Safari w systemie OS X umożliwia obsługę interfejsu EME (Encrypted Media Extensions).

Usługa Azure Media Player obsługuje również odtwarzanie FairPlay. Aby uzyskać więcej informacji, zobacz dokumentację usługi Azure Media Player.

Możesz tworzyć własne aplikacje odtwarzacza przy użyciu zestawu SDK systemu iOS. Aby móc odtwarzać zawartość FairPlay, musisz zaimplementować protokół wymiany licencji. Ten protokół nie jest określony przez firmę Apple. Do każdej aplikacji należy wysyłanie żądań dostarczania kluczy. Usługa dostarczania kluczy FairPlay w usłudze Media Services oczekuje, że spC pojawi się jako komunikat post zakodowany w formacie www-form-url w następującym formularzu:

spc=<Base64 encoded SPC>

Przechowywanie klucza prywatnego FairPlay (pfx) w usłudze Azure Key Vault

Klucz prywatny (pfx), który otrzymasz od firmy Apple, powinien być traktowany jako bezpieczny certyfikat i może być przechowywany w usłudze Azure Key Vault.

  • Najpierw należy przekonwertować plik certyfikatu pfx na podstawowy plik tekstowy 64 przez administratora
  • Po przekonwertowaniu tego pliku można przechowywać w Azure DevOps Services jako bezpieczny plik tekstowy.
  • Następnie ciąg można przechowywać w usłudze Azure KeyVault ręcznie jako "obiekt tajny" lub jako część skryptu wdrożenia/kompilacji dla rozwiązania. Przykład przechowywania certyfikatu prywatnego FairPlay w usłudze Azure KeyVault można zobaczyć w przykładowym kodzie projektu Gridwich
  • Opcjonalnie zapisz hasło dla pliku pfx jako wpis tajny w magazynie kluczy.

Przykładowy skrypt interfejsu wiersza polecenia

Aby skopiować plik klucza prywatnego zakodowanego w formacie base64 do usługi 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

Uzyskiwanie pomocy i obsługi technicznej

Możesz skontaktować się z usługą Media Services z pytaniami lub postępować zgodnie z naszymi aktualizacjami przy użyciu jednej z następujących metod: