Learn about Verifiable Credentials and Presentations
If you want to learn more about what Verifiable Credentials and Presentations are, please go over to our learning site here.
Below are a list of alternatives for using Credentials with cheqd support. Each offers a different set of protocols and underlying technical capabilities.
Setup ACA-Py Agent
Before you get started, you need to setup your ACA-Py Agent.
Issue Credentials
Issue Verifiable Credentials signed by cheqd DIDs using ACA-Py .
Present Credentials
Present Verifiable Credentials using ACA-Py.
cheqd Studio
Our API product enables users to use cheqd's functionality with minimal complexity and easily integrate APIs into existing apps.
Credo
Credo is an SDK which supports the European Architecture and Reference Framework (ARF) standards as well as AnonCreds with full cheqd support for DIDs.
Veramo
The Veramo SDK plugin supports JSON, JSON-LD credentials as well as cheqd Credential Payments in an SDK.
Walt.id SSI Kit
Walt.id SSI Kit is an SDK that supports the European Architecture and Reference Framework (ARF) standards for identity, with full cheqd support.
To revoke credentials within the ACA-Py framework, follow these steps:
Identify Credential: Determine the credential you need to revoke by referencing its unique identifier.
Send Revoke Command: Utilise the /anoncreds/credentials/revoke
API endpoint to initiate the revocation process, supplying the necessary credential identifiers like the connection id and the credential exchange id.
Confirm Revocation: Verify that the credential has been successfully revoked by checking the response from the revocation API and sending a new presentation request (which should fail).
Revoking credentials is crucial for maintaining control over issued credentials and preventing misuse in the cheqd ecosystem.
To present verifiable credentials, follow these steps:
Establish a Connection with Verifier: Initiate a DIDComm connection with the verifier using an out-of-band invitation or pre-existing connection.
Receive Proof Request: The verifier will request proof by sending a /present-proof-2.0/send-request
message that outlines the required attributes and predicates.
Create Proof: Construct a proof presentation with valid credentials using the /present-proof-2.0/records/<exchange-id>/send-presentation
API.
Send Presentation: Deliver the proof to the verifier and await their response.
Verifiable Proof: After the verifier evaluates the presentation, they will respond with either acceptance or rejection.
This process enables secure and trustworthy sharing of verifiable credentials within the ACA-Py framework and cheqd ecosystem.
After creating cheqd DIDs, you can issue verifiable credentials using the ACA-Py agent. Here's how:
Create a Schema: Create as Anoncreds Schema with the newly created DID as issuerId
using the API POST /anoncreds/schema
. This will create a DID-Linked Resource of type anonCredsSchema
.
Create a Credential Definition: Using the Schema ID from the previous step, create an Anoncreds Credential Definition using the API POST /anoncreds/credential-definition
. Here you can pass the support_revocation
option. Ensure that a Tails Server is configured for the issuer.
Create Connection with Holder: Use any supported method to create the connection with the holder of the credential. Automated out-of-band protocol recommended.
Prepare Credential Offer: Generate a credential offer using the /issue-credential-2.0/send-offer
API. This offer is sent to the holder, informing them about the available credential and its attributes.
Receive Credential Request: Wait for the holder to respond with a credential request, which will include proof of possession of the necessary private keys.
Issue Credential: Once the credential request is received and validated, issue the credential using the /issue-credential-2.0/records/<exchange-id>/issue
API endpoint.
By following these steps, you can effectively issue verifiable credentials using ACA-Py integrated with the cheqd ecosystem.