...
VC plugin adds verifiable credential features to the wallet. By default aries-framework-go verifiable command features will be used for creating and verifying credentials/presentations.
The additional interface 'presentationSubmission' can be used to submit presentation definitions to the wallet and to get presentation submission as response.
- Verify: Takes a Verifiable Credential or Verifiable Presentation as input, returns a boolean
verified
, and an error ifverified
is falseverifies a verifiable credential or a verifiable presentation. - Issue: Adds adds proof to a verifiable credential provided. (
options
contains at least averificationMethod
, andproofPurpose
.) - Prove: Takes an id of the verifiable credential and verifies the proof (
options
contains at least achallenge
.)presentationSubmission: Produces presentation submission based on wallet contentscreates a verifiable presentation (adding proof to presentation). - PresentationExchange & QueryByFrame: will be part of Query interface.
API Dependencies:
- KMS: use key plugin for cryptographic operations, if not provided then fallback to aries-framework-go kms api.
- VDRI: use DID plugin, if not provided then fallback to aries-framework-go vdri api.
Questions:
Why we need a new query interface for querying VCs using presentation exchange? Why can't we use existing 'query' interface from store plugin?→ 'add' interface function from store plugin can be used to add any data model. Modifying 'query' interface to support presentation exchange may increase the complexity for non-VC data model users.
RESOLVED IN SPEC: query interface can be customized to match underlying wallet implementation.
Key plugin:
Key plugin provides 2 interfaces : verifyRaw & signRaw. Framework will use aries-framework-go kms provider for these wallet features.
...