Credential Revocation Registry

Storing Verifiable Credential on a distributed ledger could lead to privacy violation. However, we can store the status of a Verifiable Credential on-chain, with no private information attached to it. Issuers of a Verifiable Credential have the ability to revoke the credential and provide the reason behind it.

Syntax of Verifiable Credential (VC) ID

The syntax for Verifiable Credential ID is as follows:

vc:hid:<chain-namespace>:<method-specific-id>
  • vc:hid - VC Method, where vc is the document identifier and hid is the method name

  • <chain-namespace> - (Optional) Name of the blockchain where the VC status is registered. It is omitted for the document registered on mainnet chain

  • <method-specific-id> - Alpha-numeric string of minimum 32 character length

VC Status Operations

  • Transaction Based

    • Register/Update a VC Status Document

  • Query Based

    • Query a VC Status Document

    • Query Registered VC Status Documents

Supported VC Statuses

Following are the VC statuses supported by hid-node:

  • Live

  • Suspended

  • Revoked

  • Expired

NOTE: VC Statuses are case sensetive. Live is valid, while live is invalid

Status Change Rules

  • Unregistered VC Status Document should only have the status as Live

  • Suspended status can be changed to Revoked and Live

  • Revoked and Expired statuses cannot be changed

Supported Hash Algorithm

Following are the supported hash algorithms for the attribute credentialHash:

  • SHA-256

Register/Update VC Status

Both registeration and update of VC Status happens through the RPC RegisterCredentialStatus.

CLI Signature

credential-status Structure

proof Structure

The field proofValue holds the signature that was produced by signing the credential-status document.

Example

Query VC Status

CLI Signature

Example

REST

  1. Query credential status for an inpug credential id:

  1. Query list of registered credential statuses:

Last updated