翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SPEKE API v2 - DASH-IF 仕様のカスタマイズと制約
DASH Industry Forum CPIX2.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
要素を使用する必要があります。1 つはDRMSystem.HLSSignalingData@playlist
属性値が「media」で、もう 1 つはDRMSystem.HLSSignalingData@playlist
属性値が「master」です。 -
キーをリクエストするとき、エンクリプタは、
ContentKey
要素にオプションの@explicitIV
属性を使用することがあります。キープロバイダーは、属性がリクエストに含まれていなくても、@explicitIV
を使用して IV で応答することができます。 -
エンクリプタはキー識別子 (
KID
) を生成しますが、これは与えられたコンテンツ ID とキー期間に対して同じです。キープロバイダーには、リクエストドキュメントに対するレスポンスとしてKID
が含まれます。 -
エンクリプタは
CPIX@contentId
属性の値を含めます。この属性に対して空の値を受け取ると、キープロバイダーは説明「欠落 CPIX@」のエラーを返す必要がありますcontentId。CPIX@contentId
値はキープロバイダーによって上書きできません。CPIX@id
値が null でない場合は、キープロバイダーによって無視されます。 -
エンクリプタは
CPIX@version
属性の値を含めます。この属性に空の値を受け取ると、キープロバイダーはCPIX「@version を見逃す」という説明のエラーを返します。サポートされていないバージョンのリクエストを受信する場合、キープロバイダーによって返されるエラーの説明は「サポートされていない CPIX@version」になります。CPIX@version
値をキープロバイダーでオーバーライドすることはできません。 -
エンクリプタは、リクエストされたキーごとに
ContentKey@commonEncryptionScheme
属性の値を含めます。この属性に空の値を受け取ると、キープロバイダーは ContentKey「@for を見逃すcommonEncryptionScheme 」という説明のエラーを返しますKIDid
。一意のCPIXドキュメントは、異なる
ContentKey@commonEncryptionScheme
属性に対して複数の値を混在させることはできません。このような組み合わせを受け取ると、キープロバイダーは「非準拠の ContentKey@commonEncryptionScheme combination」という説明のエラーを返すものとします。すべての
ContentKey@commonEncryptionScheme
値がすべてのDRMテクノロジーと互換性があるわけではありません。このような組み合わせを受け取ると、キープロバイダーはContentKey「@commonEncryptionScheme non compatible with 」という説明のエラーを返すものとしますDRMSystemid
。ContentKey@commonEncryptionScheme
値をキープロバイダーでオーバーライドすることはできません。 -
CPIX レスポンス本文内の
DRMSystem@PSSH
およびDRMSystem.ContentProtectionData
内部XML<pssh>
要素に対して異なる値を受信すると、エンクリプタは停止してエラーをスローします。
CPIX に関する API
-
キープロバイダーには、
X-Speke-User-Agent
HTTPレスポンスヘッダーの値を含める必要があります。 -
SPEKE準拠のエンクリプタはクライアントとして機能し、キープロバイダーエンドポイントにPOSTオペレーションを送信します。
-
エンクリプタには、
X-Speke-Version
HTTPリクエストヘッダーの値を含める必要があります MajorVersion。リクエストで使用されるSPEKEバージョンは、v2.0 の '2.0' MinorVersionのように SPEKE として指定されます。キープロバイダーが現在のリクエストでエンクリプタが使用するSPEKEバージョンをサポートしていない場合、キープロバイダーは「サポートされていないSPEKEバージョン」という説明のエラーを返し、ベストエフォートベースでCPIXドキュメントを処理しようとしません。キープロバイダーは、エンクリプタによって定義された
X-Speke-Version
ヘッダー値をリクエストへのレスポンスで変更できません。 -
レスポンス本文でエラーを受信すると、エンクリプタはエラーをスローし、v1.0 SPEKE バージョニングを使用してリクエストを再試行しません。
キープロバイダーがエラーを返さないが、必須情報を含むCPIXドキュメントを返さない場合、エンクリプタは停止してエラーをスローする必要があります。
次の表は、キープロバイダーがメッセージの本文で返す必要がある標準メッセージをまとめたものです。エラーケースのHTTPレスポンスコードは 4XX または 5XX で、200 ではありません。422 エラーコードは、SPEKE/ に関連するすべてのエラーに使用できますCPIX。
エラーケース | エラーメッセージ |
---|---|
CPIX@contentId is は定義されていません |
CPIX@ がありませんcontentId |
CPIX@version が定義されていません |
CPIX@version がありません |
CPIX@version はサポートされていません |
サポートされていない CPIX@version |
ContentKey@commonEncryptionScheme is は定義されていません |
ContentKey@commonEncryptionScheme for がありません KID |
1 つのCPIXドキュメントで使用される複数の ContentKey@commonEncryptionScheme values |
非準拠の ContentKey@commonEncryptionScheme combination |
ContentKey@commonEncryptionScheme はDRMテクノロジーと互換性がありません |
ContentKey@commonEncryptionScheme non compatible with DRMSystem |
X-Speke-Version ヘッダー値がサポートされているSPEKEバージョンではありません |
サポート対象外の SPEKE バージョン |
暗号化契約の形式が正しくない |
Malformed encryption contract (不正な形式の暗号化契約) |
暗号化契約がDRMセキュリティレベルの制約と矛盾する |
リクエストされたCPIX暗号化契約はサポートされていません |
暗号化契約に VideoFilter または AudioFilter 要素が含まれていない |
CPIX 暗号化契約がない |