结构
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 ] |
标识加密架构。 |