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]

标识加密架构。