翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SPEKE API v2 - DASH-IF 仕様のカスタマイズと制約
DASH Industry Forum CPIX 2.3 仕様
CPIX プロファイル
-
SPEKE は、エンクリプタコンシューマーのワークフローに従います。
-
暗号化されたコンテンツキーの場合、SPEKE により次の制限が適用されます。
-
SPEKE は、リクエストおよびレスポンスペイロードにデジタル署名検証 (XMLDSIG) をサポートしていません。
-
SPEKE には 2048 ビットの RSA ベースの証明書が必要です。
-
-
SPEKE は CPIX 機能のサブセットのみを利用します。
-
SPEKE は
UpdateHistoryItemList
の機能を省略します。リストがレスポンスに存在する場合、SPEKE はそれを無視します。 -
SPEKE では、ルート/リーフキー機能は省略されます。
ContentKey@dependsOnKey
属性がレスポンスに存在する場合、SPEKE はそれを無視します。 -
SPEKE では、
BitrateFilter
要素とVideoFilter@wcg
属性は省略されます。これらの要素または属性が CPIX ペイロードに存在する場合、SPEKE はそれを無視します。
-
-
スタンダードペイロードコンポーネントのページまたは暗号化契約のページで「サポートされる」として参照されている要素または属性のみ、SPEKE v2 と交換される CPIX ドキュメントで使用できます。
-
すべての要素および属性は、エンクリプタが CPIX リクエストに含めている場合、キープロバイダーの CPIX レスポンスで有効な値を保持します。そうでない場合、エンクリプタは停止してエラーをスローします。
-
SPEKE は
KeyPeriodFilter
要素でキーローテーションをサポートします。SPEKE はContentKeyPeriod@index
のみを使用して、キー期間を追跡します。 -
HLS シグナリングの場合、複数の
DRMSystem.HLSSignalingData
要素を使用する必要があります。DRMSystem.HLSSignalingData@playlist
属性値「media」で使用されるものと、DRMSystem.HLSSignalingData@playlist
属性値「master」で使用されるものです。 -
キーをリクエストするとき、エンクリプタは、
ContentKey
要素にオプションの@explicitIV
属性を使用することがあります。キープロバイダーは、属性がリクエストに含まれていなくても、@explicitIV
を使用して IV で応答することができます。 -
エンクリプタはキー識別子 (
KID
) を生成しますが、これは与えられたコンテンツ ID とキー期間に対して同じです。キープロバイダーには、リクエストドキュメントに対するレスポンスとしてKID
が含まれます。 -
エンクリプタは
CPIX@contentId
属性の値を含めます。この属性に空の値を受け取ると、キープロバイダーは「Missing CPIX@contentId」(CPIX@contentId がありません) という説明を含むエラーを返します。CPIX@contentId
値をキープロバイダーでオーバーライドすることはできません。CPIX@id
値が null でない場合は、キープロバイダーによって無視されます。 -
エンクリプタは
CPIX@version
属性の値を含めます。この属性に空の値を受け取ると、キープロバイダーは「Missing CPIX@version」(CPIX@version がありません) という説明を含むエラーを返します。サポートされていないバージョンのリクエストを受け取った場合、キープロバイダーから返されるエラーの説明は「Unsupported CPIX@version」(サポートされていない CPIX@version です) になります。CPIX@version
値をキープロバイダーでオーバーライドすることはできません。 -
エンクリプタは、リクエストされたキーごとに
ContentKey@commonEncryptionScheme
属性の値を含めます。この属性に空の値を受け取ると、キープロバイダーは「@for ContentKeycommonEncryptionScheme KID を見逃す」というエラーを返しますid
。一意の CPIX ドキュメントでは、異なる
ContentKey@commonEncryptionScheme
属性に複数の値を混在させることはできません。このような組み合わせを受け取ると、キープロバイダーは「非準拠の ContentKey@commonEncryptionScheme combination」という説明のエラーを返すものとします。すべての
ContentKey@commonEncryptionScheme
値がすべての DRM テクノロジと互換性があるわけではありません。このような組み合わせを受け取ると、キープロバイダーはContentKey「@commonEncryptionScheme non compatible with DRMSystemid
」という説明のエラーを返すものとします。ContentKey@commonEncryptionScheme
値をキープロバイダーでオーバーライドすることはできません。 -
CPIX レスポンス本文で
DRMSystem@PSSH
とDRMSystem.ContentProtectionData
innerXML<pssh>
要素に異なる値を受け取った場合、エンクリプタは停止してエラーをスローします。
CPIX 用の API
-
キープロバイダーは、
X-Speke-User-Agent
HTTP レスポンスヘッダーの値を含めます。 -
SPEKE 準拠のエンクリプタはクライアントとして機能し、POST オペレーションをキープロバイダーエンドポイントに送信します。
-
エンクリプタは HTTP リクエストヘッダーの値を含め、SPEKE v2
X-Speke-Version
.0 の「2.0」のように MajorVersionMinorVersion、リクエストで使用される SPEKE バージョンを とします。キープロバイダーがエンクリプタによって使用される SPEKE バージョンを現在のリクエストでサポートしていない場合、キープロバイダーは「Unsupported SPEKE version」(サポート対象外の SPEKE バージョン) という説明を含むエラーを返し、ベストエフォートベースでの CPIX ドキュメントの処理を試行しません。キープロバイダーは、エンクリプタによって定義された
X-Speke-Version
ヘッダー値をリクエストへのレスポンスで変更できません。 -
レスポンス本文でエラーを受信すると、エンクリプタはエラーをスローし、SPEKE v1.0 のバージョニングでリクエストを再試行しません。
キープロバイダーがエラーを返さないものの、必須情報を含む CPIX ドキュメントを返さない場合、エンクリプタは停止してエラーをスローする必要があります。
次の表は、キープロバイダーがメッセージの本文で返す必要がある標準メッセージをまとめたものです。エラーの場合の HTTP レスポンスコードは 4XX または 5XX になり、200 ではありません。422 エラーコードは SPEKE/CPIX に関連するすべてのエラーに使用できます。
エラーケース | エラーメッセージ |
---|---|
CPIX @contentId が定義されていない |
Missing CPIX@contentId (CPIX@contentId がありません) |
CPIX @version が定義されていない |
Missing CPIX@version (CPIX@version がありません) |
CPIX@version がサポートされていない |
Unsupported CPIX@version (サポート対象外の CPIX@version) |
ContentKey@ commonEncryptionScheme は定義されていません |
ContentKey@commonEncryptionScheme for KID がありません |
単一の CPIX ドキュメントで使用される複数の ContentKey@commonEncryptionScheme values |
非準拠の ContentKey@commonEncryptionScheme combination |
ContentKey@ commonEncryptionScheme は DRM テクノロジーと互換性がありません |
ContentKeyDRMSystem との互換性commonEncryptionScheme がない |
X-Speke-Version ヘッダー値がサポートされている SPEKE バージョンではない |
Unsupported SPEKE version (サポート対象外の SPEKE バージョン) |
暗号化契約の形式が正しくない |
Malformed encryption contract (不正な形式の暗号化契約) |
暗号化契約が DRM のセキュリティレベルの制約と矛盾している |
Requested CPIX encryption contract not supported (リクエストされた CPIX 暗号化契約はサポートされていません) |
暗号化契約に VideoFilter または AudioFilter 要素が含まれていない |
Missing CPIX encryption contract (CPIX 暗号化契約がありません) |