读懂 C2PA 清单:字段逐个解释
7 分钟阅读
在结果页的「C2PA 清单」里可以看到原始数据。一个文件可能包含多个清单(每次签名一个),常见字段如下:
active_manifest
当前生效的清单编号(一个 urn:uuid:…)。其余清单通常是素材或历史版本的。
manifests → claim_generator / claim_generator_info
写入这份清单的软件及版本,比如 Adobe_Firefly、Adobe Photoshop 26.x。
assertions(声明)
c2pa.actions/c2pa.actions.v2:操作记录。每条有action(如c2pa.created、c2pa.edited)、softwareAgent、when,以及digitalSourceType(内容来源类型,例如trainedAlgorithmicMedia表示 AI 生成)。c2pa.hash.data/c2pa.hash.bmff:文件内容的哈希,用来发现签名后的篡改。c2pa.thumbnail.claim.*:签名时的缩略图。stds.schema-org.CreativeWork:作者、版权等信息。c2pa.training-mining:是否允许用于 AI 训练和数据挖掘。cawg.identity:创作者身份声明(CAWG 标准)。
ingredients(素材)
这个文件用到的其他文件。relationship 为 parentOf 表示上一版本,componentOf 表示组成部分;active_manifest 指向该素材自己的清单。
signature_info
签名信息:common_name(证书名称)、issuer(签发机构)、alg(算法,如 Es256、Ps256)、time(带可信时间戳的签名时间)。
validation_results 与 validation_state
校验结果分 success(通过)、informational(提示)、failure(失败)三组。常见代码:claimSignature.validated(签名有效)、assertion.dataHash.match(内容未被改)、signingCredential.trusted(证书受信任)、signingCredential.untrusted(证书不在信任列表)。validation_state 汇总为 Trusted、Valid 或 Invalid。