Crate cawg_identity

Source
Expand description

§Implementation of CAWG identity assertion specification

CI Latest Version docs.rs codecov

Implementation of the core of the Creator Assertions Working Group identity assertion draft specification.

§Contributions and feedback

We welcome contributions to this project. For information on contributing, providing feedback, and about ongoing work, see Contributing.

§Known limitations

This is very early days for this crate. Many things are subject to change at this point.

§Requirements

The toolkit requires Rust version 1.82.0 or newer. When a newer version of Rust becomes required, a new minor (0.x.0) version of this crate will be released.

§Supported platforms

The toolkit has been tested on the following operating systems:

  • Windows

    • Only the MSVC build chain is supported on Windows. We would welcome a PR to enable GNU build chain support on Windows.
  • MacOS (Intel and Apple silicon)

  • Ubuntu Linux on x86 and ARM v8 (aarch64)

§License

The cawg-identity crate is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

Some components and dependent crates are licensed under different terms; please check the license terms for each crate and component for details.

Modules§

builder
This module contains the APIs you will use to build a C2PA Manifest that contains one or more CAWG identity assertions.
claim_aggregation
Contains implementations of CredentialHolder and SignatureVerifier for the identity claim aggregation credential type described as specified in §8.1, Identity claims aggregation.
x509
Contains implementations of CredentialHolder and SignatureVerifier for the X.509 certificates credential type described as specified in §8.2, X.509 certificates and COSE signatures.

Structs§

IdentityAssertion
This struct represents the raw content of the identity assertion.
SignerPayload
A set of referenced assertions and other related data, known overall as the signer payload. This binding SHOULD generally be construed as authorization of or participation in the creation of the statements described by those assertions and corresponding portions of the C2PA asset in which they appear.

Enums§

ValidationError
Describes the ways in which a CAWG identity assertion can fail validation as described in §7. Validating the identity assertion.

Traits§

SignatureVerifier
A Verifier can read one or more kinds of signature from an identity assertion, assess the validity of the signature, and return information about the corresponding credential subject.