1 unstable release
new 0.1.0 | Feb 25, 2025 |
---|
#148 in Authentication
Used in credibil-holder
530KB
8K
SLoC
Credibil VC
Issuance and Verification libraries for use in OpenID
Verifiable Credentials solutions.
[!CAUTION]
The code in this repository is under active development.
We still have much to do and welcome feedback and contributions.
OpenID for Verifiable Credentials
This repository provides (rudimentary) implementations of OpenID for Verifiable Credential Issuance and OpenID for Verifiable Presentations specifications with an initial focus on meeting requirements in the JWT VC Issuance and JWT VC Presentation Profiles.
You will find a more complete set of documentation on the Credibil website.
Getting Started
There is no default feature for this crate. To use the Issuer API include the issuer
feature flag; to include the Verifier API use verifier
. You can include both if building a single service that both issues and verifies credentials or if you are building, say, a holder agent application (like a wallet) that might need the types necessary to interact with both types of service.
Example impementations for Credential issuance and presentation can be found in the examples directory
Additionally, end-to-end client examples can be found in the /tests
directory.
WASM
One of the goals of this project is to allow WASM services to be built using this API. While the bulk of the library is compatible with WASM without special consideration, some dependencies require a feature flag. So if compiling for WASM, regardless of the WASM runtime, include the wasm
feature.
Specification Conformance
OpenID for Verifiable Credential Issuance
The following table shows the current status of the implementation of the OpenID for Verifiable Credential Issuance specification:
Alpha1 | In-progress | Planned | |
---|---|---|---|
Initiated | Issuer, Wallet | ||
Flow | Pre-Authorized, Authorization Code | ||
Origin | Cross-device, Same-device | ||
Issuance | Immediate, Deferred | ||
Format | jwt_vc_json | ldp_vc, jwt_vc_json-ld, mso-mdoc | |
Signature | ES256K, EdDSA | ||
Binding | did:web, did:key | did:dht, did:keri | |
Encryption | ECDH-ES/A128GCM | ECDH-ES/A256GCM |
- Working code, but not yet rigorously verified.
OpenID for Verifiable Presentations
TODO
Additional
More information about contributing. Please respect we maintain this project on a part-time basis. While we welcome suggestions and technical input, it may take time to respond.
The artefacts in this repository are dual licensed under either:
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
The license applies to all parts of the source code, its documentation and supplementary files unless otherwise indicated.
Dependencies
~22–31MB
~490K SLoC