Some checks are pending
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Waiting to run
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Blocked by required conditions
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Blocked by required conditions
WAI conformance / does this change touch it (push) Has been skipped
WAI conformance / a push to main · corpus provenance and sidecars, signer ids, the registry export (push) Waiting to run
WAI conformance / cargo-class corpora · linux (push) Has been skipped
WAI conformance / cargo-class corpora · linux-arm64 (push) Has been skipped
WAI conformance / cargo-class corpora · macos (push) Has been skipped
WAI conformance / cargo-class corpora · windows (push) Has been skipped
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (push) Has been skipped
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (push) Has been skipped
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (push) Has been skipped
WAI conformance / v2 vocabulary · manifests validate as stated (push) Has been skipped
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (push) Has been skipped
WAI conformance / independent verifiers · every verifier step, each corpus's Rust side (push) Has been skipped
WAI conformance / each feature of the independent verifiers' steps compiles alone (push) Has been skipped
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (push) Has been skipped
WAI conformance / cross-arch byte-equality · linux (push) Has been skipped
WAI conformance / cross-arch byte-equality · linux-arm64 (push) Has been skipped
WAI conformance / cross-arch byte-equality · macos (push) Has been skipped
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (push) Has been skipped
WAI conformance / C2PA manifest emission · signed, read back, validated (push) Has been skipped
WAI conformance / independent verifiers · each needs= is what a run without packages shows (nightly) (push) Has been skipped
WAI examples / WAI examples · does this change touch them (push) Waiting to run
WAI examples / WAI examples · portable · linux (push) Blocked by required conditions
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (push) Blocked by required conditions
WAI examples / WAI examples · android-app · linux-arm64 (push) Blocked by required conditions
wai-audit collector and player integration / does this change touch it (push) Successful in 1m23s
wai-audit collector and player integration / collector · linux (push) Waiting to run
wai-pack / wai-pack · does this change touch it (push) Successful in 1m26s
wai-pack / wai-pack · linux (push) Waiting to run
wai-fleet service / does this change touch it (push) Successful in 1m28s
wai-fleet service / service · linux (push) Waiting to run
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 1m29s
WAI operation catalogue / does this change touch it (push) Successful in 1m29s
wai-quantum for JavaScript / does this change touch it (push) Successful in 1m28s
WAI operation catalogue / the catalogue and every door · linux (push) Waiting to run
wai-quantum for JavaScript / javascript · linux (push) Waiting to run
joule-moq-http live HTTP egress / joule-moq-http · does this change touch it (push) Successful in 1m34s
wai-ledger service / does this change touch it (push) Successful in 1m30s
wai-ledger service / service · linux (push) Waiting to run
wai-quantum studio and desktop / does this change touch it (push) Successful in 45s
wai-sink-swift native sink package / does this change touch it (push) Successful in 43s
wai-sink-android native sink library / does this change touch it (push) Successful in 45s
wai-quantum studio and desktop / studio · browser (push) Waiting to run
WAI Studio / does this change touch it (push) Successful in 43s
wai-quantum studio and desktop / desktop app · linux (push) Waiting to run
wai-quantum studio and desktop / desktop app · windows (push) Waiting to run
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Waiting to run
WAI Studio / Studio in WebKit · linux (push) Waiting to run
wai-pack / wai-pack · independent verifier (Python) (push) Has started running
wai-pack / wai-pack · macos (push) Has started running
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has started running
wai-app and Create / wai-app · does this change touch it (push) Successful in 5m4s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Waiting to run
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 2m10s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 5m35s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Waiting to run
joule-moq-agent AI participants / joule-moq-agent · does this change touch it (push) Successful in 6m6s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 5m54s
wai-fleet service / service · macos (push) Successful in 42s
wai-pack / wai-pack · the floor through a media prober (push) Successful in 1m12s
wai-ledger service / service · macos (push) Successful in 1m24s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Has started running
wai-pack / wai-pack · linux-arm64 (push) Successful in 4m46s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Has started running
wai-pack / wai-pack · dependency licences (push) Successful in 31s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Has started running
WAI Studio / Studio in Chromium and Firefox · macos (push) Has started running
joule-moq-room room service / joule-moq-room, every target (push) Has started running
wai-quantum studio and desktop / desktop app · macos (push) Successful in 5m25s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Has started running
joule-moq-http live HTTP egress / joule-moq-http, every target (push) Successful in 4m11s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 3m2s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 11m35s
joule-moq-agent AI participants / joule-moq-agent, every target (push) Successful in 3m57s
The 2026-11-14 wai-conformance nightly (run 35860) passed every job but
"codec wrappers" and "C2PA manifest emission", both compile errors after
526554191 moved jpegxl-rs 0.14->0.16 and c2pa 0.91->0.92 in paths no
per-push job builds:
- codecs::image::jxl_encode and tests/media_decode_bounds.rs: jpegxl-rs 0.16's
encode takes the pixel type alone and returns the bytes.
- c2pa_emit::identity's signer wrapper: c2pa 0.92's Signer passes a
&Context to send_timestamp_request; the wrapper passes it on.
- live-conformance/c2pa-sdk-identity signed again with 0.92.1, as its README
says it is when the lockfile moves the SDK: all 20 vectors keep 0.91.11's
validator reports, instant and anchors; SDK_VERSION, the README and D6 say
0.92.1. The 21 corpus records and SDK_VERSION are acknowledged breaks.
Checked on build hosts: the codec wrappers' five test binaries, the image
codec unit tests, the semantic path, wai_prov and clippy (macOS arm64);
the emitter, session and identity tests, the SDK identity vectors and
clippy (Linux aarch64); wai breaking: no unacknowledged break.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
456 lines
15 KiB
JSON
456 lines
15 KiB
JSON
{
|
|
"corpus": "c2pa-sdk-identity",
|
|
"extension": "c2pa-binding",
|
|
"time": "2026-11-09T12:00:00Z",
|
|
"identityAnchors": [
|
|
"MIIBszCCAWWgAwIBAgIBATAFBgMrZXAwYTEqMCgGA1UECgwhV0FJIEMyUEEgU0RLIGlkZW50aXR5IHRlc3QgY29ycHVzMTMwMQYDVQQDDCpXQUkgQzJQQSBTREsgaWRlbnRpdHkgdGVzdCBpZGVudGl0eSBhbmNob3IwHhcNMjYwMTAxMDAwMDAwWhcNNDYwMTAxMDAwMDAwWjBhMSowKAYDVQQKDCFXQUkgQzJQQSBTREsgaWRlbnRpdHkgdGVzdCBjb3JwdXMxMzAxBgNVBAMMKldBSSBDMlBBIFNESyBpZGVudGl0eSB0ZXN0IGlkZW50aXR5IGFuY2hvcjAqMAUGAytlcAMhAA4UYeypR+sKv6NUxl2hoqOj8+IrMktV3mijslhZvOUEo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU+zjNzLD/mZc1vI4Mr0xVl6TX9f0wBQYDK2VwA0EA3A0ewJtCiMGauMic6x1KCqzZRTH+UTgrsEm5s/dSN2jCBQIfOb81fJLEk2GqqqG7H94i7ZAlXkF89vTFUHV3CQ=="
|
|
],
|
|
"claimAnchors": [
|
|
"MIIBrTCCAV+gAwIBAgIBATAFBgMrZXAwXjEqMCgGA1UECgwhV0FJIEMyUEEgU0RLIGlkZW50aXR5IHRlc3QgY29ycHVzMTAwLgYDVQQDDCdXQUkgQzJQQSBTREsgaWRlbnRpdHkgdGVzdCBjbGFpbSBhbmNob3IwHhcNMjYwMTAxMDAwMDAwWhcNNDYwMTAxMDAwMDAwWjBeMSowKAYDVQQKDCFXQUkgQzJQQSBTREsgaWRlbnRpdHkgdGVzdCBjb3JwdXMxMDAuBgNVBAMMJ1dBSSBDMlBBIFNESyBpZGVudGl0eSB0ZXN0IGNsYWltIGFuY2hvcjAqMAUGAytlcAMhACCsnLlYHchVtANrzo31rLzlOFExvAfZB7QnnyX7Y3sPo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUOthf3SEqqujijtwDo/GHiqDjk6IwBQYDK2VwA0EAQEUQFcpRRXIG5KHJDKdUuoTY3nQonHQQ/64M0HUQ4fAZKddYWjInl4tkbPEKpYhWg0nLAmuY21cuFT9sb0LNBw=="
|
|
],
|
|
"sdk": {
|
|
"crate": "c2pa",
|
|
"version": "0.92.1"
|
|
},
|
|
"vectors": [
|
|
{
|
|
"name": "creator",
|
|
"about": "the creator's identity assertion over the hard binding, the actions and the energy binding, with a role",
|
|
"asset": "creator.png",
|
|
"sha256": "73a6fd60e9c9a18da57556c8cbb1ef643f58f2de5287c44a015b50bcfa51cae5",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "accept",
|
|
"identities": [
|
|
{
|
|
"label": "cawg.identity",
|
|
"roles": [
|
|
"cawg.creator"
|
|
],
|
|
"actor": "121cf0645d64b31fdb706044b8100ee7da71afa08ce9fab0f22b468bf3fbe7bf",
|
|
"referenced": [
|
|
"c2pa.hash.data",
|
|
"c2pa.actions.v2",
|
|
"science.transaction.wai.energy.reconstruction"
|
|
],
|
|
"anchor": "51cf69c75adfaa2acfc33a5bd4c0cef3fecb45c216999994b129988a906fb5a7",
|
|
"signed": "schema"
|
|
}
|
|
]
|
|
},
|
|
"sdk": {
|
|
"state": "Trusted",
|
|
"failure": []
|
|
}
|
|
},
|
|
{
|
|
"name": "creator-and-publisher",
|
|
"about": "two identity assertions, the creator's and the publisher's",
|
|
"asset": "creator-and-publisher.png",
|
|
"sha256": "563c9e24ae856649a41ae42e2ed5359037fd6ca120041b5ff3d6bbe6f01643a6",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "accept",
|
|
"identities": [
|
|
{
|
|
"label": "cawg.identity",
|
|
"roles": [
|
|
"cawg.creator"
|
|
],
|
|
"actor": "121cf0645d64b31fdb706044b8100ee7da71afa08ce9fab0f22b468bf3fbe7bf",
|
|
"referenced": [
|
|
"c2pa.hash.data",
|
|
"c2pa.actions.v2"
|
|
],
|
|
"anchor": "51cf69c75adfaa2acfc33a5bd4c0cef3fecb45c216999994b129988a906fb5a7",
|
|
"signed": "schema"
|
|
},
|
|
{
|
|
"label": "cawg.identity__1",
|
|
"roles": [
|
|
"cawg.publisher"
|
|
],
|
|
"actor": "23276bf1b08898f1079d0aa5ad93f1c51cf6431d1f6d3280c71cca9949ff1415",
|
|
"referenced": [
|
|
"c2pa.hash.data",
|
|
"science.transaction.wai.energy.reconstruction"
|
|
],
|
|
"anchor": "51cf69c75adfaa2acfc33a5bd4c0cef3fecb45c216999994b129988a906fb5a7",
|
|
"signed": "schema"
|
|
}
|
|
]
|
|
},
|
|
"sdk": {
|
|
"state": "Trusted",
|
|
"failure": []
|
|
}
|
|
},
|
|
{
|
|
"name": "hard-binding-alone",
|
|
"about": "an identity assertion over the hard binding alone, with no role",
|
|
"asset": "hard-binding-alone.png",
|
|
"sha256": "a139205dd6a33d81d4ab8fa333a84a0e1fa0293c3ea13bde783a39eb2bd267be",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "accept",
|
|
"identities": [
|
|
{
|
|
"label": "cawg.identity",
|
|
"roles": [],
|
|
"actor": "121cf0645d64b31fdb706044b8100ee7da71afa08ce9fab0f22b468bf3fbe7bf",
|
|
"referenced": [
|
|
"c2pa.hash.data"
|
|
],
|
|
"anchor": "51cf69c75adfaa2acfc33a5bd4c0cef3fecb45c216999994b129988a906fb5a7",
|
|
"signed": "schema"
|
|
}
|
|
]
|
|
},
|
|
"sdk": {
|
|
"state": "Trusted",
|
|
"failure": []
|
|
}
|
|
},
|
|
{
|
|
"name": "creator-deterministic",
|
|
"about": "the creator's identity assertion signed over the payload's core deterministic encoding, which a writer may ask for",
|
|
"asset": "creator-deterministic.png",
|
|
"sha256": "08e16d5d73470316e7275b72bd106cfbadafbe168d80f74b76fbf3ddc8bec76f",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "accept",
|
|
"identities": [
|
|
{
|
|
"label": "cawg.identity",
|
|
"roles": [
|
|
"cawg.creator"
|
|
],
|
|
"actor": "121cf0645d64b31fdb706044b8100ee7da71afa08ce9fab0f22b468bf3fbe7bf",
|
|
"referenced": [
|
|
"c2pa.hash.data",
|
|
"c2pa.actions.v2",
|
|
"science.transaction.wai.energy.reconstruction"
|
|
],
|
|
"anchor": "51cf69c75adfaa2acfc33a5bd4c0cef3fecb45c216999994b129988a906fb5a7",
|
|
"signed": "deterministic"
|
|
}
|
|
]
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.x509.signature.mismatch"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "sdk-builder-written",
|
|
"about": "the creator's identity assertion written and signed by the SDK's own identity builder",
|
|
"asset": "sdk-builder-written.png",
|
|
"sha256": "b3e57e90a635026e119ac8c03fec0d3b8ef954f7e35a15a9c209b873de82b5eb",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "accept",
|
|
"identities": [
|
|
{
|
|
"label": "cawg.identity",
|
|
"roles": [
|
|
"cawg.creator"
|
|
],
|
|
"actor": "121cf0645d64b31fdb706044b8100ee7da71afa08ce9fab0f22b468bf3fbe7bf",
|
|
"referenced": [
|
|
"c2pa.actions.v2",
|
|
"c2pa.hash.data"
|
|
],
|
|
"anchor": "51cf69c75adfaa2acfc33a5bd4c0cef3fecb45c216999994b129988a906fb5a7",
|
|
"signed": "schema"
|
|
}
|
|
]
|
|
},
|
|
"sdk": {
|
|
"state": "Trusted",
|
|
"failure": []
|
|
}
|
|
},
|
|
{
|
|
"name": "carried-from-another-manifest",
|
|
"about": "an identity assertion signed for another manifest of the same content, carried byte for byte into this one",
|
|
"asset": "carried-from-another-manifest.png",
|
|
"sha256": "e90af2cc113c05302e40e2038f90d289bc9c3b3f7e745725e28f3d3c8876fb32",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_assertion_mismatch",
|
|
"c2pa": "cawg.identity.assertion.mismatch"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.identity.assertion.mismatch",
|
|
"cawg.identity.assertion.mismatch",
|
|
"cawg.identity.assertion.mismatch"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "hard-binding-missing",
|
|
"about": "an identity assertion over the actions alone",
|
|
"asset": "hard-binding-missing.png",
|
|
"sha256": "d8d0b493acd39e2faa48b512dd7f4a7410758e2985a79400b09e6b00dc02c7a1",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_hard_binding_missing",
|
|
"c2pa": "cawg.identity.hard_binding_missing"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.identity.hard_binding_missing"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "assertion-twice",
|
|
"about": "an identity assertion naming the hard binding twice",
|
|
"asset": "assertion-twice.png",
|
|
"sha256": "1936a992dc429c08693f33adc90218612e531eb460f00b09d1acc62992b4c250",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_assertion_duplicate",
|
|
"c2pa": "cawg.identity.assertion.duplicate"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.identity.assertion.duplicate"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pad-nonzero",
|
|
"about": "an identity assertion whose pad1 ends in a byte of 1",
|
|
"asset": "pad-nonzero.png",
|
|
"sha256": "270671d1b6a7ee495b969c79b07e6828fa05a699adb298067af061393a7bea8e",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_pad_invalid",
|
|
"c2pa": "cawg.identity.pad.invalid"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.identity.pad.invalid"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "sig-type-unknown",
|
|
"about": "an identity assertion of another signature type",
|
|
"asset": "sig-type-unknown.png",
|
|
"sha256": "0af628b3daa6141c959f9c310af9c100be8bf6540021f592e8317cb7db8242a4",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_sig_type_unknown",
|
|
"c2pa": "cawg.identity.sig_type.unknown"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.identity.sig_type.unknown"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pad1-missing",
|
|
"about": "an identity assertion without pad1, its room filled by pad2",
|
|
"asset": "pad1-missing.png",
|
|
"sha256": "6b98c2a9d4d7ee9fa560358df5d79237914502a49fd3dba6b62bf2e51199ecb9",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_malformed",
|
|
"c2pa": "cawg.identity.cbor.invalid"
|
|
},
|
|
"sdk": {
|
|
"state": "Invalid",
|
|
"failure": [
|
|
"assertion.required.missing"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "algorithm-unsupported",
|
|
"about": "an identity assertion whose signature names an algorithm this profile does not verify",
|
|
"asset": "algorithm-unsupported.png",
|
|
"sha256": "ac9afb9c510b1f8ba48686a23342b4fafd62c34316a5e0199f8646f6a8066498",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_algorithm_unsupported",
|
|
"c2pa": "cawg.x509.algorithm.unsupported"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.x509.credential.invalid"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "signed-by-another-key",
|
|
"about": "the creator's certificates over a signature by a key that is not theirs",
|
|
"asset": "signed-by-another-key.png",
|
|
"sha256": "94ddc5419137089a90ef9696f065b43594d885e6850ed1f7a8a900fbdbccc4bb",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_signature_mismatch",
|
|
"c2pa": "cawg.x509.signature.mismatch"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.x509.signature.mismatch"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "signed-third-order",
|
|
"about": "the creator's signature over the payload's members in a third order, which is neither serialization",
|
|
"asset": "signed-third-order.png",
|
|
"sha256": "dd504c657ba8b6ab471534adf41edb0bc6ad242537adb3a1a06b32edd1c5d4c1",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_signature_mismatch",
|
|
"c2pa": "cawg.x509.signature.mismatch"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.x509.signature.mismatch"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "signed-other-members",
|
|
"about": "the creator's signature over a payload with another role than the one the assertion holds",
|
|
"asset": "signed-other-members.png",
|
|
"sha256": "82adc5fc9bd1b368d49d96522d9a81ac1e5aff0699410311e526aa27668e6e05",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_signature_mismatch",
|
|
"c2pa": "cawg.x509.signature.mismatch"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.x509.signature.mismatch"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "credential-untrusted",
|
|
"about": "an actor whose credential is under an anchor the verifier does not hold",
|
|
"asset": "credential-untrusted.png",
|
|
"sha256": "56adddf68a98738e506933e1e57d68ac14ed7c7260d9b73e299c1af9b78ca830",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_credential_untrusted",
|
|
"c2pa": "cawg.x509.credential.untrusted"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.x509.credential.untrusted"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "credential-expired",
|
|
"about": "an actor whose credential expired before the instant",
|
|
"asset": "credential-expired.png",
|
|
"sha256": "fa21de44175bf881b7af2edd16814b326a9f6c500a344d87fdf9be7e3d4255f0",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_credential_expired",
|
|
"c2pa": "cawg.x509.signature.outside_validity"
|
|
},
|
|
"sdk": {
|
|
"state": "Valid",
|
|
"failure": [
|
|
"cawg.x509.credential.untrusted",
|
|
"cawg.x509.signature.outside_validity"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "credential-wrong-purpose",
|
|
"about": "an actor credentialed for claim signing alone",
|
|
"asset": "credential-wrong-purpose.png",
|
|
"sha256": "f9901c9b1d71bf8459876062c7c29dab5d0043fb9bca3f856f273d0090c8b2d3",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_credential_invalid",
|
|
"c2pa": "cawg.x509.credential.untrusted"
|
|
},
|
|
"sdk": {
|
|
"state": "Trusted",
|
|
"failure": []
|
|
}
|
|
},
|
|
{
|
|
"name": "gathered-reference",
|
|
"about": "an identity assertion over an assertion the claim gathered, held to the created assertions",
|
|
"asset": "gathered-reference.png",
|
|
"sha256": "32cb948b3ad923640845ddbd610b813ec84588174819dc8c3f3da8103cf6a9d7",
|
|
"referenced": "created",
|
|
"expect": {
|
|
"outcome": "refuse",
|
|
"reason": "identity_assertion_mismatch",
|
|
"c2pa": "cawg.identity.assertion.mismatch"
|
|
},
|
|
"sdk": {
|
|
"state": "Trusted",
|
|
"failure": []
|
|
}
|
|
},
|
|
{
|
|
"name": "gathered-reference-admitted",
|
|
"about": "the same manifest, by a verifier that admits the gathered assertions",
|
|
"asset": "gathered-reference.png",
|
|
"sha256": "32cb948b3ad923640845ddbd610b813ec84588174819dc8c3f3da8103cf6a9d7",
|
|
"referenced": "created_or_gathered",
|
|
"expect": {
|
|
"outcome": "accept",
|
|
"identities": [
|
|
{
|
|
"label": "cawg.identity",
|
|
"roles": [
|
|
"cawg.creator"
|
|
],
|
|
"actor": "121cf0645d64b31fdb706044b8100ee7da71afa08ce9fab0f22b468bf3fbe7bf",
|
|
"referenced": [
|
|
"c2pa.hash.data",
|
|
"science.transaction.wai.test.gathered"
|
|
],
|
|
"anchor": "51cf69c75adfaa2acfc33a5bd4c0cef3fecb45c216999994b129988a906fb5a7",
|
|
"signed": "schema"
|
|
}
|
|
]
|
|
},
|
|
"sdk": {
|
|
"state": "Trusted",
|
|
"failure": []
|
|
}
|
|
}
|
|
]
|
|
}
|