diff --git a/index.html b/index.html index 64a11a1..f1325bc 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,7 @@ - Verifiable Credential Status List v2021 + Verifiable Credential Bit String Status List v1.0 - - +

Introduction

@@ -288,7 +271,7 @@

Data Model

-

StatusList2021Entry

+

BitStringStatusListEntry

When an issuer desires to enable status information for a @@ -314,14 +297,14 @@

StatusList2021Entry

credential. It MUST NOT be the URL for the status list. The value is not used during the verification or validation process, and does not need to be related to the `statusListCredential` value. If necessary, the value can be -used to uniquely identify the `StatusList2021Entry` object, such as when it is +used to uniquely identify the `BitStringStatusListEntry` object, such as when it is stored in a database. type -The type property MUST be StatusList2021Entry. +The type property MUST be BitStringStatusListEntry. @@ -368,15 +351,15 @@

StatusList2021Entry

statusListCredential The statusListCredential property MUST be a URL to a -verifiable credential. When the URL is dereferenced, the result -MUST be a verifiable credential that contains a type -property that includes the StatusList2021Credential value. +verifiable credential. When the URL is dereferenced, the resulting +verifiable credential MUST have type property that +includes the BitStringStatusListCredential value. -
+        
 {
   "@context": [
     "https://www.w3.org/ns/credentials/v2",
@@ -386,8 +369,8 @@ 

StatusList2021Entry

"issuer": "did:example:12345", "issued": "2021-04-05T14:27:42Z", "credentialStatus": { - "id": "https://example.com/credentials/status/3#94567", - "type": "StatusList2021Entry", + "id": "https://example.com/credentials/status/3#94567" + "type": "BitStringStatusListEntry", "statusPurpose": "revocation", "statusListIndex": "94567", "statusListCredential": "https://example.com/credentials/status/3" @@ -402,7 +385,7 @@

StatusList2021Entry

-

StatusList2021Credential

+

BitStringStatusListCredential

When a status list is published, the result is a verifiable @@ -425,7 +408,7 @@

StatusList2021Credential

The verifiable credential that contains the status list MAY express an id property that matches the value specified in statusListCredential for the corresponding -StatusList2021Entry (see ). +BitStringStatusListEntry (see ). @@ -433,7 +416,7 @@

StatusList2021Credential

The verifiable credential that contains the status list MUST express a type property that includes the -StatusList2021Credential value. +BitStringStatusListCredential value. @@ -458,7 +441,7 @@

StatusList2021Credential

credentialSubject.type The type of the credential subject, which is the -status list, MUST be StatusList2021. +status list, MUST be BitStringStatusList. @@ -524,7 +507,7 @@

StatusList2021Credential

The ttl indicates the "time to live" in milliseconds. This property MAY be present. If not present, implementers MUST use a value of 300000 for this property. A verifier - MUST NOT use a cached StatusList2021Credential that was + MUST NOT use a cached BitstringStatusListCredential that was cached for more than the ttl duration prior to the start of verification operation on a verifiable credential. Implementations that publish the status list SHOULD align @@ -594,18 +577,18 @@

StatusList2021Credential

-
+        
 {
   "@context": [
     "https://www.w3.org/ns/credentials/v2",
   ],
   "id": "https://example.com/credentials/status/3",
-  "type": ["VerifiableCredential", "StatusList2021Credential"],
+  "type": ["VerifiableCredential", "BitStringStatusListCredential"],
   "issuer": "did:example:12345",
   "issued": "2021-04-05T14:27:40Z",
   "credentialSubject": {
     "id": "https://example.com/status/3#list",
-    "type": "StatusList2021",
+    "type": "BitStringStatusList",
     "statusPurpose": "revocation",
     "encodedList": "H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA"
   },
@@ -615,18 +598,18 @@ 

StatusList2021Credential

The Working Group is still discussing the unification of a design between status lists with a single state (such as "revoked" or "suspended") and status lists with multiple states (exposed via a series of status messages). We are seeking implementer feedback on what a unified design should look like from an ease of implementation, privacy, and security standpoint.

-
+                
           {
             "@context": [
               "https://www.w3.org/ns/credentials/v2",
             ],
             "id": "https://example.com/credentials/status/3",
-            "type": ["VerifiableCredential", "StatusList2021Credential"],
+            "type": ["VerifiableCredential", "BitStringStatusListCredential"],
             "issuer": "did:example:12345",
             "issued": "2021-04-05T14:27:40Z",
             "credentialSubject": {
               "id": "https://example.com/status/3#list",
-              "type": "StatusList2021",
+              "type": "BitStringStatusList",
               "ttl": 500,
               "statusPurpose": "status",
               "reference": "https://example.org/status-dictionary/",
@@ -659,7 +642,7 @@ 

Generate Algorithm

The following process, or one generating the exact output, MUST be followed when producing a -StatusList2021Credential: +BitStringStatusListCredential:

    @@ -669,7 +652,7 @@

    Generate Algorithm

  1. Let RLC be an unsigned -StatusList2021Credential +BitStringStatusListCredential without the encodedList property set.
  2. @@ -693,14 +676,14 @@

    Validate Algorithm

    The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a -StatusList2021Credential: +BitStringStatusListCredential:

    1. Let credentialToValidate be a verifiable credential containing a credentialStatus entry that is a -StatusList2021Entry. +BitStringStatusListEntry.
    2. Let status purpose be the value of statusPurpose @@ -719,12 +702,12 @@

      Validate Algorithm

    3. Let compressed bitstring be the value of the encodedList property of the -StatusList2021Credential. +BitStringStatusListCredential.
    4. Let credentialIndex be the value of the statusListIndex property of the -StatusList2021Entry. +BitStringStatusListEntry.
    5. Generate a revocation bitstring by passing @@ -901,7 +884,7 @@

      Bitstring Encoding

      encode and decode bitstrings. Failure to do so can result in checking the wrong bitstring index for a given credential, leading to a misinterpretation of its present state (e.g., mistaking a revoked status for an unrevoked -status). As stated in Section , +status). As stated in Section , bitstrings are encoded such that the first (zeroth) index refers to the left-most bit of the bitstring array. The diagram below demonstrates the proper layout for an uncompressed bitstring. @@ -996,7 +979,7 @@

      Revocable Verifiable Credential

      "validFrom": "2021-04-05T14:27:42Z", "credentialStatus": { "id": "https://example.com/credentials/status/3#94567", - "type": "StatusList2021Entry", + "type": "BitStringStatusListEntry", "statusPurpose": "revocation", "statusListIndex": "94567", "statusListCredential": "https://example.com/credentials/status/3" @@ -1019,12 +1002,12 @@

      Status List Verifiable Credential

      "https://www.w3.org/ns/credentials/examples/v2" ], "id": "https://example.com/credentials/status/3", - "type": ["VerifiableCredential", "StatusList2021Credential"], + "type": ["VerifiableCredential", "BitStringStatusListCredential"], "issuer": "did:example:12345", "validFrom": "2021-04-05T14:27:40Z", "credentialSubject": { "id": "https://example.com/status/3#list", - "type": "StatusList2021", + "type": "BitStringStatusList", "statusPurpose": "revocation", "encodedList": "H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA" }