验证 C2PA 清单 - MediaConvert
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

验证 C2PA 清单

使用 C2PA 清单创建 MP4 输出后,您可以使用兼容 C2PA 的工具验证清单。这些工具可以提取和验证清单,包括检查数字签名和资产哈希。

经过适当验证的 C2PA 清单证实:

  • 舱单由指定证书签署

  • 自清单创建以来,内容未被修改

  • 清单中的动作和断言完好无损

有关 C2PA 和可用验证工具的更多信息,请访问 C 2PA 网站。您可以使用开源 c2patool 来验证媒体文件中的 C2PA 清单。例如:

c2patool example.mp4 --info

成功的验证将显示类似于以下内容的输出:

$ c2patool example.mp4 --info Information for example.mp4 Manifest store size = 32000 (0.56% of file size 5705967) Validated One manifest

有关清单内容的更多详细信息,请使用以下--detailed标志:

c2patool example.mp4 --detailed

以下是 c2patool 的输出示例:

$ c2patool example.mp4 --detailed { "active_manifest": "urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da", "manifests": { "urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da": { "claim": { "dc:title": "example.mp4", "dc:format": "video/mp4", "instanceID": "xmp:iid:190fb451-7dc4-4878-b0d2-512d9b1c5dab", "claim_generator": "mediaconvert/1.0", "claim_generator_info": [ { "name": "MediaConvert", "version": "1.0", "org.cai.c2pa_rs": "0.39.0" } ], "signature": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.signature", "assertions": [ { "url": "self#jumbf=c2pa.assertions/c2pa.actions", "hash": "P2+zrSTu2U5aGo4mNC35EWEM7vjfLho/2tTKmZ+ls+k=" }, { "url": "self#jumbf=c2pa.assertions/c2pa.hash.bmff", "hash": "majeRA6voTIMvHShWBR5Vqg7e4c7dVFsfTbezIzn63o=" } ], "alg": "sha256" }, "assertion_store": { "c2pa.actions": { "actions": [ { "action": "c2pa.opened" }, { "action": "c2pa.transcoded" } ] }, "c2pa.hash.bmff": { "alg": "sha256", "hash": "BHZI6ml1LqBf2xLaKAzYS8uOYwWo5/Wsc30wRYmnr4M=", "name": "jumbf manifest", "exclusions": [ { "data": null, "exact": null, "flags": null, "xpath": "/ftyp", "length": null, "subset": null, "version": null }, { "data": null, "exact": null, "flags": null, "xpath": "/uuid", "length": null, "subset": null, "version": null }, { "data": null, "exact": null, "flags": null, "xpath": "/free", "length": null, "subset": null, "version": null }, { "data": null, "exact": null, "flags": null, "xpath": "/mdat", "length": null, "subset": [ { "length": 8, "offset": 0 } ], "version": null }, { "data": null, "exact": null, "flags": null, "xpath": "/moov", "length": null, "subset": null, "version": null }, { "data": null, "exact": null, "flags": null, "xpath": "/mfra", "length": null, "subset": null, "version": null } ] } }, "signature": { "alg": "es256", "issuer": "Test Organization", "time": "2025-04-11T23:17:33+00:00" } } }, "validation_status": [ { "code": "claimSignature.validated", "url": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.signature", "explanation": "claim signature valid" }, { "code": "assertion.hashedURI.match", "url": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.assertions/c2pa.actions", "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.actions" }, { "code": "assertion.hashedURI.match", "url": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.assertions/c2pa.hash.bmff", "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.hash.bmff" }, { "code": "assertion.bmffHash.match", "url": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.assertions/c2pa.hash.bmff", "explanation": "data hash valid" } ] }