Apple FairPlay ライセンスの要件と構成
警告
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 証明書ファイルを生成する方法について説明します。
[https://slproweb.com/products/Win32OpenSSL.html](https://slproweb.com/products/Win32OpenSSL.html ) から OpenSSL をインストールします。
Apple によって提供される FairPlay 証明書とその他のファイルが含まれるフォルダーに移動します。
コマンド ラインから次のコマンドを実行します。 このコマンドにより、.cer ファイルが .pem ファイルに変換されます。
"C:\OpenSSL-Win32\bin\openssl.exe" x509 -inform der -in FairPlay.cer -out FairPlay-out.pem
コマンド ラインから次のコマンドを実行します。 このコマンドにより、.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からサポート チケットを開きます。