Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate credo for credential operations #20

Closed
4 of 7 tasks
jrhender opened this issue Jan 9, 2024 · 1 comment
Closed
4 of 7 tasks

Integrate credo for credential operations #20

jrhender opened this issue Jan 9, 2024 · 1 comment

Comments

@jrhender
Copy link
Contributor

jrhender commented Jan 9, 2024

Proposal

Integrate Credo for credential operations.
Link to repository: https://github.com/openwallet-foundation/agent-framework-javascript
Link to docs: https://credo.js.org/

Research

Support for data integrity signature

Credo supports data integrity signatures.
In particular, Ed25519Signature2018 signatures seem to be supported out-of-the-box, which is the main signature type used thus far within the VC API implementation.

Support for JSON-LD VCs

The seems to be support for a document loader which could be used for adding contexts. https://github.com/openwallet-foundation/credo-ts/blob/main/packages/core/src/modules/vc/data-integrity/W3cJsonLdCredentialService.ts#L111

Pros

  • Using a project from within the Open Wallet Foundation would allow better synergy
  • Would have a clearer path to supporting further VC technology such as SD-JWT and BBS signatures
  • Ability to use custom JSON LD Contexts

Cons

  • If removing didKit, it could be a breaking change due to differing implementation details in proof issuance and/or verification

TODO

Pre-implementation Research

  • decide if we should replace the existing credential operations library (didKit) or try to add Credo alongside
  • confirm whether or not additional LD contexts are supported by Credo (seems promising with document loader available)
  • check if/how Credo supports key creation/utilization at runtime
  • consider if it makes more sense to try to get VC API directly into Credo

Implementation Steps

  • replace didKit with credo. The credential.service is where didKit is currently integrated. I believe this is the core file that would need to be changed
  • adjust documentation to explain why credo is now being used -> This should include the additional of an ADR
  • adjust documentation to use context file links
@jrhender jrhender changed the title Integrate aries-framework-js for credential operations Integrate credo for credential operations Feb 5, 2024
@jrhender
Copy link
Contributor Author

jrhender commented Oct 3, 2024

Completed by #38 . #39 opened to complete outstanding documentation fix.

@jrhender jrhender closed this as completed Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

1 participant