fuchsia.drm

已新增:HEAD

結構化

EncryptionPattern

定義於 fuchsia.drm/encryption.fidl

模式加密會在子取樣 (SubsampleEntry 的已加密_位元組) 的受保護的範圍中,採用經過加密且清晰的 16 位元組區塊模式。這個結構會指定已加密的資料區塊數量,後方則是清除資料區塊的數量。

欄位類型說明預設
clear_blocks uint32 無預設
encrypted_blocks uint32 無預設

EncryptionSubsampleEntry

定義於 fuchsia.drm/encryption.fidl

樣本中的位元組範圍,包含清楚的位元組範圍,後面接著加密的位元組範圍。這個結構會指定子樣本中每個範圍的大小。

欄位類型說明預設
clear_bytes uint32 無預設
encrypted_bytes uint32 無預設

資料表

加密

定義於 fuchsia.drm/encryption.fidl

解密串流處理器的串流格式詳細資料酬載。這是一個稀疏的資料表,用於指定解密作業所需的參數,而非資料串流。只有在欄位變更的情況下,才需要更新欄位;重複相同值則不需要更新。

序數欄位類型說明
scheme EncryptionScheme

指定要使用的加密配置,例如 ENCRYPTION_SCHEME_CENC。使用方式:

  • 您必須在傳送輸入封包之前設定這個值。
  • 只有在某些情況下,才能在直播中變更配置。為串流選擇加密配置後,配置只能設為 ENCRYPTION_SCHEME_UNENCRYPTED 或相同的初始加密配置。配置任何時間點都可以設為 ENCRYPTION_SCHEME_UNENCRYPTED
default_key_id EncryptionKeyId

識別用於解密後續資料的金鑰。使用方式:

  • 您必須設定這個值,才能將輸入封包傳送至解密工具。
  • 在資料串流中,這可能會多次變更。
default_init_vector EncryptionInitVector

可與鍵和內容區塊搭配使用,藉此建立鏈結中的第一個加密區塊,並衍生加密區塊鏈中的後續加密區塊。使用方式:

  • 您必須在將輸入封包傳送至解密工具之前設定這個值。
  • 在資料串流中,這可能會多次變更。
default_pattern EncryptionPattern

用於識別清楚且加密的區塊,以便進行模式式加密。使用方式:

  • CENC 和 CBC1 都禁止使用,也不適用於 CENS 和 CBCS。
  • 如有需要,必須在將輸入封包傳送至解密工具之前進行設定。
  • 在資料串流中,這可能會多次變更。

PacketEncryptionProperties

定義於 fuchsia.drm/packet_encryption_properties.fidl

加密串流中與封包隨附的屬性。

序數欄位類型說明
is_encrypted bool

表示封包是否經過加密。

key_id EncryptionKeyId

如有指定,則會覆寫先前的鍵 ID。

init_vector EncryptionInitVector

如有指定,會覆寫先前的初始化向量。

pattern EncryptionPattern

如有指定,則會覆寫先前的加密模式。

subsamples vector<EncryptionSubsampleEntry>[16]

要解密的子範例。缺少或空白清單表示整個範例解密作業。

業者

名稱類型說明
ENCRYPTION_SCHEME_CBC1 cbc1 String
ENCRYPTION_SCHEME_CBCS cbcs String
ENCRYPTION_SCHEME_CENC cenc String
ENCRYPTION_SCHEME_CENS cens String
MAX_ENCRYPTION_SCHEME_SIZE 4 uint32

EncryptionScheme 字串的大小上限。

MAX_INIT_VECTOR_SIZE 16 uint32

EncryptionInitVector blob 的大小上限。

MAX_KEY_ID_SIZE 16 uint32

EncryptionKeyId blob 的大小上限。

MAX_SUBSAMPLE_ENTRIES 16 uint32

允許的EncryptionSubsampleEntry數量上限。

別名

名稱說明
EncryptionInitVector vector[MAX_INIT_VECTOR_SIZE]
EncryptionKeyId vector[MAX_KEY_ID_SIZE]
EncryptionScheme string[MAX_ENCRYPTION_SCHEME_SIZE]

識別加密配置。