Skip to content

IdentityAssertion::validate doesn't resolve ingredient references or report hard_binding_incorrect #2847

Open

Description

@mrappard

Component: c2pa-rs (Rust SDK) · Version: main (58b9a09) · Platform: any

What happened?

#2843 makes the Reader path (SignerPayload::check_against_partial_claim) do two things:

  • resolve identity-assertion references against ingredient claims (CAWG Identity 1.3 §5.1.1, §7.1 step 2)
  • report cawg.identity.hard_binding_incorrect (§7.1 step 4)

SignerPayload::check_against_manifest, used by IdentityAssertion::validate / to_summary / summarize_from_reader, still checks references only against the manifest's own assertion_references(). It also only checks that some hard-binding reference exists.

What did you expect to happen?

Both validation paths apply the same §7.1 rules.

Notes

The two functions duplicate most of their logic. It may be simplest for check_against_manifest to build the same partial claim, including ingredient assertions, and delegate to check_against_partial_claim. Happy to send a PR once #2843 is reviewed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions