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.

http
Copy to clipboard.
1GET
2https://YOUR_TENANT_URL/v2/credentials/
3web-semantic/revocation-lists/cc641396-3750-43c8-b8b8-f30d74eb3fb3

Response

json
Copy to clipboard.
1{
2    "id": "https://YOUR_TENANT_URL/core/v1/revocation-lists/cc641396-3750-43c8-b8b8-f30d74eb3fb3",
3    "@context": [
4        "https://www.w3.org/2018/credentials/v1",
5        "https://w3id.org/vc-revocation-list-2020/v1"
6    ],
7    "type": [
8        "VerifiableCredential",
9        "RevocationList2020Credential"
10    ],
11    "issuer": "did:web:organization.com",
12    "credentialSubject": {
13        "type": "RevocationList2020",
14        "encodedList": "H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA"
15    },
16    "issuanceDate": "2020-10-04T22:20:48.861Z",
17    "expirationDate": "2023-02-21T06:44:28.952Z",
18    "proof": {
19        "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..iwouae64R3vVidRasfUUyKJ3EBj7PhffS_weHBOuzfNJeFAxHEB3rTQKGFQbkJozlYuMH0dRRk8rB9dvfjJECg",
20        "type": "Ed25519Signature2018",
21        "created": "2020-10-04T22:20:48Z",
22        "proofPurpose": "assertionMethod",
23        "verificationMethod": "did:key:z6MkndAHigYrXNpape7jgaC7jHiWwxzB3chuKUGXJg2b5RSj#z6MkndAHigYrXNpape7jgaC7jHiWwxzB3chuKUGXJg2b5RSj"
24    }
25}

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

json
Copy to clipboard.
1"issuer": {
2    "id": "did:web:organization.com",
3    "name": "Organisation"
4},
5"credentialStatus": {
6    "id": "https://YOUR_TENANT_URL/core/v1/revocation-lists/cc641396-3750-43c8-b8b8-f30d74eb3fb3#4",
7    "type": "RevocationList2020Status",
8    "revocationListIndex": "4",
9    "revocationListCredential": "https://tenant.vii.mattr.global/core/v1/revocation-lists/cc641396-3750-43c8-b8b8-f30d74eb3fb3"
10}

Values from Revocation List

json
Copy to clipboard.
1"issuer": "did:web:organization.com",
2"credentialSubject": {
3    "type": "RevocationList2020",
4    "encodedList": "H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA"
5}

The decoded bit-string list

Copy to clipboard.
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.