Anforderungen und Konfiguration der Apple FairPlay-Lizenz

Media Services-Logo v3


Warnung

Azure Media Services wird am 30. Juni 2024 eingestellt. Weitere Informationen finden Sie im Leitfaden zur Einstellung von AMS.

Azure Media Services ermöglicht Ihnen das Verschlüsseln von HLS-Inhalten mit Apple FairPlay Streaming (AES-128 CBC). Media Services bietet darüber hinaus einen Dienst für die Bereitstellung von FairPlay-Lizenzen. FairPlay Streaming ist eine Apple-Technologie, die nur für Videos verfügbar ist, die über HTTP Live Streaming (HLS) auf iOS-Geräten, in Apple TV und in Safari auf macOS übertragen werden. Wenn ein Apple-Client versucht, Ihre durch FairPlay geschützten Inhalte über das HLS-Format wiederzugeben, wird eine Anforderung zum Erwerben einer Lizenz an den Lizenzbereitstellungsdienst gesendet. Wenn der Lizenzdienst die Anforderung genehmigt, wird die Lizenz ausgegeben. Diese wird an den Client gesendet und zum Entschlüsseln und Wiedergeben des angegebenen Inhalts verwendet.

Media Services bietet außerdem APIs, mit denen Sie Ihre FairPlay-Lizenzen konfigurieren können. Dieses Thema behandelt die FairPlay-Lizenzanforderungen und zeigt, wie Sie eine FairPlay-Lizenz mithilfe von Media Services-APIs konfigurieren können.

Requirements (Anforderungen)

Die folgenden Angaben sind erforderlich, wenn Sie Ihre HLS-Inhalte mit Apple FairPlay verschlüsseln und Media Services verwenden, um FairPlay-Lizenzen bereitzustellen:

  • Registrieren Sie sich für das Apple Developer Program(Apple-Entwicklerprogramm).

  • Apple setzt voraus, dass der Inhaltsbesitzer über das Bereitstellungspaketverfügt. Geben Sie an, dass Sie bereits KSM (Key Security Module) mit Media Services implementiert haben, und dass Sie das endgültige FPS-Paket anfordern. Das endgültige FPS-Paket enthält Anweisungen zum Generieren des Zertifikats und zum Abrufen des geheimen Anwendungsschlüssels (ASK). Sie verwenden ASK, um FairPlay zu konfigurieren.

  • Folgendes muss seitens der Media Services-Schlüssel-/Lizenzbereitstellung festgelegt werden:

    • App Cert (AC) : Dies ist eine PFX-Datei, die den privaten Schlüssel enthält. Sie erstellen diese Datei und verschlüsseln sie mit einem Kennwort. Die PFX-Datei muss im Base64-Format vorliegen.

      Die folgenden Schritte beschreiben, wie eine PFX-Zertifikatdatei für FairPlay generiert wird:

      1. Installieren von OpenSSL von https://slproweb.com/products/Win32OpenSSL.html.

        Wechseln Sie zum Ordner, in dem das FairPlay-Zertifikat und andere von Apple übermittelte Dateien enthalten sind.

      2. Führen Sie den folgenden Befehl an der Befehlszeile aus: Dadurch wird die CER-Datei in eine PEM-Datei konvertiert.

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

      3. Führen Sie den folgenden Befehl an der Befehlszeile aus: Dadurch wird die PEM-Datei in eine PFX-Datei mit dem privaten Schlüssel konvertiert. Das Kennwort für die PFX-Datei wird dann von OpenSSL angefordert.

        „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-Kennwort: Das Kennwort zum Erstellen der PFX-Datei.

    • ASK: Dieser Schlüssel wird bei der Generierung der Zertifizierung über das Apple Developer-Portal empfangen. Jedes Entwicklungsteam erhält einen eindeutigen ASK. Speichern Sie eine Kopie des ASK an einem sicheren Ort. Sie müssen den ASK später als FairPlayAsk für Media Services konfigurieren.

  • Folgendes muss seitens des FPS-Clients festgelegt werden:

    • App Cert (AC) : CER-/DER-Datei mit dem öffentlichen Schlüssel, den das Betriebssystem zur Verschlüsselung bestimmter Nutzlasten verwendet. Media Services muss den Schlüssel kennen, da er vom Player benötigt wird. Der Schlüsselbereitstellungsdienst entschlüsselt den Schlüssel mithilfe des entsprechenden privaten Schlüssels.
  • Um einen über FairPlay verschlüsselten Stream wiederzugeben, rufen Sie zuerst den echten ASK ab, und generieren Sie dann ein echtes Zertifikat. Dieser Prozess erstellt alle drei Teile:

    • DER-Datei
    • PFX-Datei
    • Kennwort für die PFX-Datei

Hinweis

Azure Media Services überprüft das Ablaufdatum des Zertifikats während der Paketerstellung und der Schlüsselübermittlung nicht. Nach Ablauf des Zertifikats ist es weiterhin funktionsfähig.

FairPlay und Player-Apps

Wenn Ihr Inhalt mit Apple FairPlay verschlüsselt ist, werden die einzelnen Audio- und Videosamples mit dem AES-128 CBC-Modus verschlüsselt. FairPlay Streaming (FPS) ist in die Gerätebetriebssysteme integriert und wird von iOS und Apple TV nativ unterstützt. Safari unter OS X ermöglicht FPS durch Unterstützung der EME-Schnittstelle (Encrypted Media Extensions).

Azure Media Player unterstützt zudem die FairPlay-Wiedergabe. Weitere Informationen finden Sie in der Azure Media Player-Dokumentation.

Sie können Ihre eigenen Player-Apps mit dem iOS SDK entwickeln. Damit FairPlay-Inhalte wiedergegeben werden können, müssen Sie das Lizenzaustauschprotokoll implementieren. Dieses Protokoll wird nicht von Apple angegeben. Es ist jeder App freigestellt, wie sie Anforderungen zur Schlüsselübermittlung sendet. Der Media Services-FairPlay-Schlüsselübermittlungsdienst erwartet das SPC als POST-Nachricht mit Verschlüsselung vom Typ „www-form-url“ im folgenden Format:

spc=<Base64 encoded SPC>

Speichern eines privaten FairPlay-Schlüssels (PFX) in Azure Key Vault

Der private Schlüssel (PFX), den Sie von Apple erhalten, sollte als sicheres Zertifikat behandelt werden. Er kann in Azure Key Vault gespeichert werden.

  • Die PFX-Zertifikatdatei sollte zuerst vom Administrator in eine Base64-codierte Textdatei konvertiert werden.
  • Nach der Konvertierung kann diese Datei in Azure DevOps Services als sichere Textdatei gespeichert werden.
  • Die Zeichenfolge kann dann manuell in Azure KeyVault als „Geheimnisobjekt“ oder als Teil eines Bereitstellungs-/Buildskripts für Ihre Lösung gespeichert werden. Ein Beispiel zum Speichern des privaten FairPlay-Zertifikats in Azure KeyVault finden Sie im Beispielcode für das Gridwich-Projekt.
  • Speichern Sie das Kennwort für die PFX-Datei optional als Geheimnis im Schlüsseltresor.

BEISPIEL-CLI-Skript

So kopieren Sie die Base64-codierte Private Key-Datei in den 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

Anfordern von Hilfe und Support

Sie können Media Services mit Fragen kontaktieren oder unsere Updates mit einer der folgenden Methoden verfolgen: