View a Credential Revocation List

Obtain a Revocation List

The revocation list can be obtained from the credentialStatus property defined in the Credential or saved as meta-data in the Credential Registry.

This will be a publicly available endpoint, in general an Issuer does not need to view this data and a Verifier on the MATTR Platform will obtain this data automatically.

GET
https://tenant.platform.mattr.global/v1/revocation-lists/cc641396-3750-43c8-b8b8-f30d74eb3fb3

Response

{
"id": "https://tenant.platform.mattr.global/v1/revocation-lists/cc641396-3750-43c8-b8b8-f30d74eb3fb3",
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://w3id.org/vc-revocation-list-2020/v1"
],
"type": [
"VerifiableCredential",
"RevocationList2020Credential"
],
"issuer": "did:key:z6MkndAHigYrXNpape7jgaC7jHiWwxzB3chuKUGXJg2b5RSj",
"credentialSubject": {
"type": "RevocationList2020",
"encodedList": "H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA"
},
"issuanceDate": "2020-10-04T22:20:48.861Z",
"proof": {
"jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..iwouae64R3vVidRasfUUyKJ3EBj7PhffS_weHBOuzfNJeFAxHEB3rTQKGFQbkJozlYuMH0dRRk8rB9dvfjJECg",
"type": "Ed25519Signature2018",
"created": "2020-10-04T22:20:48Z",
"proofPurpose": "assertionMethod",
"verificationMethod": "did:key:z6MkndAHigYrXNpape7jgaC7jHiWwxzB3chuKUGXJg2b5RSj#z6MkndAHigYrXNpape7jgaC7jHiWwxzB3chuKUGXJg2b5RSj"
}
}

The returned revocation list is in the form of a JSON-LD based Verifiable Credential.

The issuer is the same issuer as defined in the credential.

The encodedList contains the bits indicating the revocation status of each Credential in the index.

Revoked Credentials

The MATTR Platform will automatically determine if a presented Credential is revoked by inspecting the Revocation List, checking that the same Issuer DID created the Credential, then decoding the encodedList and looking up the value by the index:

  • 1 means the Credential has been revoked
  • 0 means un-revoked.

Values from Credential

"issuer": {
"id": "did:key:z6MkndAHigYrXNpape7jgaC7jHiWwxzB3chuKUGXJg2b5RSj",
"name": "tenant.platform.mattr.global"
},
"credentialStatus": {
"id": "https://tenant.platform.mattr.global/v1/revocation-lists/cc641396-3750-43c8-b8b8-f30d74eb3fb3#4",
"type": "RevocationList2020Status",
"revocationListIndex": "4",
"revocationListCredential": "https://tenant.platform.mattr.global/v1/revocation-lists/cc641396-3750-43c8-b8b8-f30d74eb3fb3"
}

Values from Revocation List

"issuer": "did:key:z6MkndAHigYrXNpape7jgaC7jHiWwxzB3chuKUGXJg2b5RSj",
"credentialSubject": {
"type": "RevocationList2020",
"encodedList": "H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA"
},

The decoded bit-string list

00010000000001111000000000000000000000001000001000000000100010011100000000000000000000000000000000000...

Index 4 of the list indicates that this credential is revoked.

If a credentialStatus value has been presented and the Platform cannot retrieve the Revocation List, then it is assumed to be revoked.

A credential is always issued as un-revoked, the Issuer will need to perform an action to set the Credential as revoked on its Revocation List.