結構化
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
解密串流處理器的串流格式詳細資料酬載。這是一個稀疏的資料表,用於指定解密作業所需的參數,而非資料串流。只有在欄位變更的情況下,才需要更新欄位;重複相同值則不需要更新。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
scheme |
EncryptionScheme
|
指定要使用的加密配置,例如
|
2 |
default_key_id |
EncryptionKeyId
|
識別用於解密後續資料的金鑰。使用方式:
|
3 |
default_init_vector |
EncryptionInitVector
|
可與鍵和內容區塊搭配使用,藉此建立鏈結中的第一個加密區塊,並衍生加密區塊鏈中的後續加密區塊。使用方式:
|
4 |
default_pattern |
EncryptionPattern
|
用於識別清楚且加密的區塊,以便進行模式式加密。使用方式:
|
PacketEncryptionProperties
定義於 fuchsia.drm/packet_encryption_properties.fidl
加密串流中與封包隨附的屬性。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
is_encrypted |
bool
|
表示封包是否經過加密。 |
2 |
key_id |
EncryptionKeyId
|
如有指定,則會覆寫先前的鍵 ID。 |
3 |
init_vector |
EncryptionInitVector
|
如有指定,會覆寫先前的初始化向量。 |
4 |
pattern |
EncryptionPattern
|
如有指定,則會覆寫先前的加密模式。 |
5 |
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 |
|
MAX_INIT_VECTOR_SIZE |
16
|
uint32 |
|
MAX_KEY_ID_SIZE |
16
|
uint32 |
|
MAX_SUBSAMPLE_ENTRIES |
16
|
uint32 |
允許的 |
別名
名稱 | 值 | 說明 |
---|---|---|
EncryptionInitVector |
vector [MAX_INIT_VECTOR_SIZE ] |
|
EncryptionKeyId |
vector [MAX_KEY_ID_SIZE ] |
|
EncryptionScheme |
string [MAX_ENCRYPTION_SCHEME_SIZE ] |
識別加密配置。 |