次の方法で共有


Apple FairPlay ライセンスの要件と構成

Media Services ロゴ v3


警告

Azure Media Services は、2024 年 6 月 30 日に廃止されます。 詳細については、「 AMS 廃止ガイド」を参照してください。

Azure Media Services では、Apple FairPlay Streaming (AES-128 CBC) を使用して HLS コンテンツを暗号化できます。 Media Services も FairPlay ライセンスを提供するサービスを提供しています。 FairPlay Streaming は、iOS デバイス、Apple TV、macOS の Safari で、HTTP ライブ ストリーミング (HLS) 経由で転送されるビデオに対してのみ使用できる Apple テクノロジです。 Apple クライアントで FairPlay の保護されたコンテンツを HLS 形式によって再生しようとすると、ライセンスを取得する要求がライセンス配信サービスに送信されます。 ライセンス サービスはその要求を承認した後、ライセンスを発行します。このライセンスはクライアントに送信され、指定されたコンテンツの暗号化解除と再生に用いられます。

Media Services では、FairPlay ライセンス設定用の API も提供されます。 このトピックでは、FairPlay のライセンス要件について説明し、Media Services の API を使用して、FairPlay ライセンスを構成する方法について説明します。

必要条件

Media Services を使用した Apple FairPlay での HLS コンテンツの暗号化、および FairPlay ライセンスの配信のための Media Services の使用には、次のものが必要です。

  • Apple 開発プログラムにサインアップします。

  • コンテンツ所有者によるデプロイ パッケージの取得が Apple によって求められます。 Media Services でキー セキュリティ モジュール (KSM) が既に実装されていること、および最終的な FPS パッケージを要求していることを明記してください。 最終的な FPS パッケージには、証明書を生成し、アプリケーション シークレット キー (ASK) を取得する指示が含まれています。 ASK を使用して、FairPlay を構成します。

  • Media Services キー/ライセンスの配信側で次の設定が必要です。

    • アプリ証明書 (AC) : 秘密キーを含む .pfx ファイル。 このファイルを作成し、パスワードを使用して暗号化します。 .pfx ファイルの形式は Base64 である必要があります。

      次の手順では、FairPlay 用の .pfx 証明書ファイルを生成する方法について説明します。

      1. [https://slproweb.com/products/Win32OpenSSL.html](https://slproweb.com/products/Win32OpenSSL.html ) から OpenSSL をインストールします。

        Apple によって提供される FairPlay 証明書とその他のファイルが含まれるフォルダーに移動します。

      2. コマンド ラインから次のコマンドを実行します。 このコマンドにより、.cer ファイルが .pem ファイルに変換されます。

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

      3. コマンド ラインから次のコマンドを実行します。 このコマンドにより、.pem ファイルが秘密キーを含む .pfx ファイルに変換されます。 OpenSSL によって .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

    • アプリ証明書パスワード: .pfx ファイルを作成するためのパスワード。

    • ASK: このキーは、Apple 開発者ポータルを使用して証明書を生成したときに受け取ります。 開発チームごとに一意の ASK が割り当てられます。 ASK のコピーを保存して、安全な場所に保管してください。 ASK は FairPlayAsk として Media services に構成する必要があります。

  • FPS のクライアント側で、次の設定が必要です。

    • アプリ証明書 (AC) : オペレーティング システムが一部のペイロードを暗号化する際に使用する公開キーを含む .cer/.der ファイル。 Media Services で把握しておく必要がある理由は、プレーヤーで必要になるからです。 復号化は、キー配信サービスが対応する秘密キーを使用して行います。
  • FairPlay で暗号化されたストリームを再生するには、まず実際の ASK を取得してから、実際の証明書を生成する必要があります。 そのプロセスにより、3 つすべてのパートが作成されます。

    • .der ファイル
    • .pfx ファイル
    • .pfx のパスワード

Note

Azure Media Services は、パッケージ化やキー配信の際に証明書の有効期限を確認しません。 証明書の有効期限が切れた後も、引き続き機能します。

FairPlay とプレーヤー アプリ

コンテンツが Apple FairPlay で暗号化されている場合、個々のビデオやオーディオのサンプルは、AES-128 CBC モードを使用して暗号化されます。 FairPlay ストリーミング (FPS) はデバイスのオペレーティング システムに統合されており、iOS および Apple TV でネイティブにサポートされます。 OS X 上の Safari では、Encrypted Media Extensions (EME) インターフェイスのサポートを使用することで FPS が可能になります。

Azure Media Player は FairPlay の再生もサポートしています。 詳しくは、Azure Media Player のドキュメントをご覧ください。

プレーヤー アプリは、iOS SDK を使用して開発できます。 FairPlay コンテンツを再生できるようにするには、ライセンス交換プロトコルを実装する必要があります。 このプロトコルは、Apple によって指定されていません。 キー配信の要求を送信する方法は、各アプリに従います。 Media Services FairPlay キー配信サービスでは、SPC が www-form-url でエンコードされた投稿メッセージとなることが想定されます。これは次のような形式になります。

spc=<Base64 encoded SPC>

FairPlay 秘密キー (.pfx) を Azure Key Vaultに格納する

Apple から受け取る秘密キー (.pfx) は、セキュリティで保護された証明書として扱われる必要があり、Azure Key Vault に保存できます。

  • .pfx 証明書ファイルは、管理者が最初に base 64 テキスト ファイルに変換する必要があります
  • 変換後、このファイルはセキュリティで保護されたテキスト ファイルとして Azure DevOps Services に保存できます。
  • その後、文字列は、"シークレット オブジェクト" として、またはソリューションのデプロイ/ビルド スクリプトの一部として、Azure KeyVault に手動で保存できます。 Azure KeyVault に FairPlay プライベート証明書を保存する例は、Gridwich プロジェクトのサンプル コードで確認できます
  • 必要に応じて、.pfx ファイルのパスワードをシークレットとしてキー コンテナーに保存します。

CLI スクリプトの例

base64 でエンコードされた秘密キー ファイルを 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

ヘルプとサポート

Media Services に質問がある場合は、次のいずれかの方法で更新プログラムに従ってください。

  • Q & A
  • Stack Overflow。 質問に タグを付け、 を使用します azure-media-services
  • @MSFTAzureMedia するか 、@AzureSupport を使用してサポートを要求します。
  • Azure portalからサポート チケットを開きます。