Module c2pa::validation_status
source · Expand description
Implements validation status for specific parts of a manifest.
See https://c2pa.org/specifications/specifications/1.0/specs/C2PA_Specification.html#_existing_manifests.
Structs§
- A
ValidationStatus
struct describes the validation status of a specific part of a manifest.
Constants§
- An action that requires an associated ingredient either does not have one or the one specified cannot be located
- An
action
assertion was redacted when the ingredient’s claim was created. - The value of an
alg
header, or other header that specifies an algorithm used to compute the value of another field, is unknown or unsupported. - A non-embedded (remote) assertion was accessible at the time of validation.
- Hash of a box-based asset matches the hash declared in the BMFF hash assertion.
- The hash of a box-based asset does not match the hash declared in the BMFF hash assertion.
- Hash of a box-based asset matches the hash declared in the General Box Hash assertion.
- The hash of a box-based asset does not match the hash declared in the General Boxes hash assertion.
- The hash of a box-based asset does not contain boxes in the expected order for the General Boxes hash assertion.
- The cbor of an assertion is not valid.
- An update manifest contains a cloud data assertion referencing an actions assertion.
- A hard binding assertion is in a cloud data assertion.
- Hash of a byte range of the asset matches the hash declared in the data hash assertion.
- The hash of a byte range of the asset does not match the hash declared in the data hash assertion.
- The hash of the the referenced assertion in the ingredient’s manifest matches the corresponding hash in the assertion’s hashed URI in the claim.
- The hash of the the referenced assertion in the manifest does not match the corresponding hash in the assertion’s hashed URI in the claim.
- A non-embedded (remote) assertion was inaccessible at the time of validation.
- The JSON(-LD) of an assertion is not valid.
- An assertion listed in the ingredient’s claim is missing from the ingredient’s manifest.
- An assertion was declared as redacted in the ingredient’s claim but is still present in the ingredient’s manifest.
- A required field is not present in an assertion.
- An assertion was declared as redacted by its own claim.
- An assertion was found in the ingredient’s manifest that was not explicitly declared in the ingredient’s claim.
- The cbor of the claim is not valid.
- The referenced claim in the ingredient’s manifest cannot be found.
- More than one claim box is present in the manifest.
- A required field is not present in the claim.
- The claim signature referenced in the ingredient’s claim failed to validate.
- The claim signature referenced in the ingredient’s claim cannot be found in its manifest.
- The claim signature referenced in the ingredient’s claim validated.
- A value to be used when there was an error not specifically listed here.
- No hard bindings are present in the claim.
- The hash of the the referenced ingredient claim in the manifest does not match the corresponding hash in the ingredient’s hashed URI in the claim.
- If a manifest was documented to exist in a remote location, but is not present there, or the location is not currently available (such as in an offline scenario), the
manifest.inaccessible
error code shall be used to report the situation. - The manifest has more than one ingredient whose
relationship
isparentOf
. - The manifest is an update manifest, but it contains hard binding or actions assertions.
- The manifest is an update manifest, but it contains either zero or multiple
parentOf
ingredients. - The signing credential has expired.
- The signing credential is not valid for signing.
- The signing credential has been revoked by the issuer.
- The signing credential is listed on the validator’s trust list.
- The signing credential is not listed on the validator’s trust list.
- The time-stamp does not correspond to the contents of the claim.
- The signed time-stamp attribute in the signature falls outside the validity window of the signing certificate or the TSA’s certificate.
- The time-stamp credential is listed on the validator’s trust list.
- The time-stamp credential is not listed on the validator’s trust list.
Functions§
- Returns
true
if the status code is a known C2PA success status code. - Given a
Store
and aStatusTracker
, returnValidationStatus
items for each item in the tracker which reflect errors in the active manifest or which would not be reported as a validation error for any ingredient.