From 0b2296b36497f46c2d001591a9b45d82aed472b4 Mon Sep 17 00:00:00 2001 From: mprorock Date: Mon, 12 Jun 2023 12:40:04 -0600 Subject: [PATCH 1/8] chore: update title and urls to contexts --- index.html | 67 ++++++++++++++++++++---------------------------------- 1 file changed, 25 insertions(+), 42 deletions(-) diff --git a/index.html b/index.html index 785bd1e..6f89523 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,7 @@ - Verifiable Credential Status List v2021 + Verifiable Credential Status List v2.0 - - +

Introduction

@@ -286,7 +269,7 @@

Data Model

-

StatusList2021Entry

+

StatusListEntry

When an issuer desires to enable status information for a @@ -315,7 +298,7 @@

StatusList2021Entry

type -The type property MUST be StatusList2021Entry. +The type property MUST be StatusListEntry. @@ -364,17 +347,17 @@

StatusList2021Entry

The statusListCredential property MUST be a URL to a verifiable credential. When the URL is dereferenced, the resulting verifiable credential MUST have type property that -includes the StatusList2021Credential value. +includes the StatusListCredential value. -
+        
 {
   "@context": [
-    "https://www.w3.org/2018/credentials/v1",
-    "https://w3id.org/vc/status-list/2021/v1"
+    "https://www.w3.org/ns/credentials/v2",
+    "https://www.w3.org/ns/status-list/v2"
   ],
   "id": "https://example.com/credentials/23894672394",
   "type": ["VerifiableCredential"],
@@ -382,7 +365,7 @@ 

StatusList2021Entry

"issued": "2021-04-05T14:27:42Z", "credentialStatus": { "id": "https://example.com/credentials/status/3#94567" - "type": "StatusList2021Entry", + "type": "StatusListEntry", "statusPurpose": "revocation", "statusListIndex": "94567", "statusListCredential": "https://example.com/credentials/status/3" @@ -397,7 +380,7 @@

StatusList2021Entry

-

StatusList2021Credential

+

StatusListCredential

When a status list is published, the result is a verifiable @@ -420,7 +403,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 ). +StatusListEntry (see ). @@ -428,7 +411,7 @@

StatusList2021Credential

The verifiable credential that contains the status list MUST express a type property that includes the -StatusList2021Credential value. +StatusListCredential value. @@ -457,7 +440,7 @@

StatusList2021Credential

credentialSubject.type The type of the credential subject, which is the -status list, MUST be StatusList2021. +status list, MUST be StatusList. @@ -511,19 +494,19 @@

StatusList2021Credential

-
+        
 {
   "@context": [
-    "https://www.w3.org/2018/credentials/v1",
-    "https://w3id.org/vc/status-list/2021/v1"
+    "https://www.w3.org/ns/credentials/v2",
+    "https://www.w3.org/ns/status-list/v2"
   ],
   "id": "https://example.com/credentials/status/3",
-  "type": ["VerifiableCredential", "StatusList2021Credential"],
+  "type": ["VerifiableCredential", "StatusListCredential"],
   "issuer": "did:example:12345",
   "issued": "2021-04-05T14:27:40Z",
   "credentialSubject": {
     "id": "https://example.com/status/3#list",
-    "type": "StatusList2021",
+    "type": "StatusList",
     "statusPurpose": "revocation",
     "encodedList": "H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA"
   },
@@ -548,7 +531,7 @@ 

Generate Algorithm

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

    @@ -558,7 +541,7 @@

    Generate Algorithm

  1. Let RLC be an unsigned -StatusList2021Credential +StatusListCredential without the encodedList property set.
  2. @@ -582,14 +565,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: +StatusListCredential:

    1. Let credentialToValidate be a verifiable credentials containing a credentialStatus entry that is a -StatusList2021Entry. +StatusListEntry.
    2. Let status purpose be the value of statusPurpose @@ -607,12 +590,12 @@

      Validate Algorithm

    3. Let compressed bitstring be the value of the encodedList property of the -StatusList2021Credential. +StatusListCredential.
    4. Let credentialIndex be the value of the statusListIndex property of the -StatusList2021Entry. +StatusListEntry.
    5. Generate a revocation bitstring by passing @@ -784,7 +767,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. From 8f770973bfc50c86a307a8acaca270dd5740da91 Mon Sep 17 00:00:00 2001 From: Mike Prorock Date: Tue, 13 Jun 2023 13:18:17 -0400 Subject: [PATCH 2/8] Apply suggestions from code review removing extra context in example Co-authored-by: Orie Steele --- index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/index.html b/index.html index 6f89523..5b11737 100644 --- a/index.html +++ b/index.html @@ -357,7 +357,6 @@

      StatusListEntry

      { "@context": [ "https://www.w3.org/ns/credentials/v2", - "https://www.w3.org/ns/status-list/v2" ], "id": "https://example.com/credentials/23894672394", "type": ["VerifiableCredential"], @@ -498,7 +497,6 @@

      StatusListCredential

      { "@context": [ "https://www.w3.org/ns/credentials/v2", - "https://www.w3.org/ns/status-list/v2" ], "id": "https://example.com/credentials/status/3", "type": ["VerifiableCredential", "StatusListCredential"], From d04c68ffeee7c8864d24cd8f91f0962cba167cab Mon Sep 17 00:00:00 2001 From: mprorock Date: Wed, 2 Aug 2023 12:14:17 -0600 Subject: [PATCH 3/8] chore: adjust key types to be prefixed with bitstring, e.g. bitstringstatuslist from statuslist --- index.html | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/index.html b/index.html index 5b11737..55c399b 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,7 @@ - Verifiable Credential Status List v2.0 + Verifiable Credential Bit String Status List v1.0 - -
+

Introduction

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

Data Model

-

StatusList2021Entry

+

StatusListEntry

When an issuer desires to enable status information for a @@ -321,7 +304,7 @@

StatusList2021Entry

type -The type property MUST be StatusList2021Entry. +The type property MUST be StatusListEntry. @@ -368,26 +351,45 @@

StatusList2021Entry

statusListCredential The statusListCredential property MUST be a URL to a +<<<<<<< HEAD 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 StatusListCredential value. +>>>>>>> 0b2296b (chore: update title and urls to contexts) +<<<<<<< HEAD
 {
   "@context": [
     "https://www.w3.org/ns/credentials/v2",
+=======
+        
+{
+  "@context": [
+    "https://www.w3.org/ns/credentials/v2",
+    "https://www.w3.org/ns/status-list/v2"
+>>>>>>> 0b2296b (chore: update title and urls to contexts)
   ],
   "id": "https://example.com/credentials/23894672394",
   "type": ["VerifiableCredential"],
   "issuer": "did:example:12345",
   "issued": "2021-04-05T14:27:42Z",
   "credentialStatus": {
+<<<<<<< HEAD
     "id": "https://example.com/credentials/status/3#94567",
     "type": "StatusList2021Entry",
+=======
+    "id": "https://example.com/credentials/status/3#94567"
+    "type": "StatusListEntry",
+>>>>>>> 0b2296b (chore: update title and urls to contexts)
     "statusPurpose": "revocation",
     "statusListIndex": "94567",
     "statusListCredential": "https://example.com/credentials/status/3"
@@ -402,7 +404,7 @@ 

StatusList2021Entry

-

StatusList2021Credential

+

StatusListCredential

When a status list is published, the result is a verifiable @@ -425,7 +427,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 ). +StatusListEntry (see ). @@ -433,7 +435,7 @@

StatusList2021Credential

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

StatusList2021Credential

credentialSubject.type The type of the credential subject, which is the -status list, MUST be StatusList2021. +status list, MUST be StatusList. @@ -594,18 +596,22 @@

StatusList2021Credential

-
+        
 {
   "@context": [
     "https://www.w3.org/ns/credentials/v2",
+<<<<<<< HEAD
+=======
+    "https://www.w3.org/ns/status-list/v2"
+>>>>>>> 0b2296b (chore: update title and urls to contexts)
   ],
   "id": "https://example.com/credentials/status/3",
-  "type": ["VerifiableCredential", "StatusList2021Credential"],
+  "type": ["VerifiableCredential", "StatusListCredential"],
   "issuer": "did:example:12345",
   "issued": "2021-04-05T14:27:40Z",
   "credentialSubject": {
     "id": "https://example.com/status/3#list",
-    "type": "StatusList2021",
+    "type": "StatusList",
     "statusPurpose": "revocation",
     "encodedList": "H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA"
   },
@@ -659,7 +665,7 @@ 

Generate Algorithm

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

    @@ -669,7 +675,7 @@

    Generate Algorithm

  1. Let RLC be an unsigned -StatusList2021Credential +StatusListCredential without the encodedList property set.
  2. @@ -693,14 +699,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: +StatusListCredential:

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

      Validate Algorithm

    3. Let compressed bitstring be the value of the encodedList property of the -StatusList2021Credential. +StatusListCredential.
    4. Let credentialIndex be the value of the statusListIndex property of the -StatusList2021Entry. +StatusListEntry.
    5. Generate a revocation bitstring by passing @@ -901,7 +907,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. From c0c1a03b3dc2603274b212b3dc6e75bdb80ea6d1 Mon Sep 17 00:00:00 2001 From: mprorock Date: Wed, 30 Aug 2023 13:25:12 -0600 Subject: [PATCH 5/8] chore: rebase merge continue --- index.html | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/index.html b/index.html index 7d9c08b..473aea1 100644 --- a/index.html +++ b/index.html @@ -351,45 +351,27 @@

      StatusListEntry

      statusListCredential The statusListCredential property MUST be a URL to a -<<<<<<< HEAD -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 StatusListCredential value. ->>>>>>> 0b2296b (chore: update title and urls to contexts) -<<<<<<< HEAD
       {
         "@context": [
           "https://www.w3.org/ns/credentials/v2",
      -=======
      -        
      -{
      -  "@context": [
      -    "https://www.w3.org/ns/credentials/v2",
      -    "https://www.w3.org/ns/status-list/v2"
      ->>>>>>> 0b2296b (chore: update title and urls to contexts)
      +)
         ],
         "id": "https://example.com/credentials/23894672394",
         "type": ["VerifiableCredential"],
         "issuer": "did:example:12345",
         "issued": "2021-04-05T14:27:42Z",
         "credentialStatus": {
      -<<<<<<< HEAD
      -    "id": "https://example.com/credentials/status/3#94567",
      -    "type": "StatusList2021Entry",
      -=======
           "id": "https://example.com/credentials/status/3#94567"
           "type": "StatusListEntry",
      ->>>>>>> 0b2296b (chore: update title and urls to contexts)
           "statusPurpose": "revocation",
           "statusListIndex": "94567",
           "statusListCredential": "https://example.com/credentials/status/3"
      @@ -600,10 +582,6 @@ 

      StatusListCredential

      { "@context": [ "https://www.w3.org/ns/credentials/v2", -<<<<<<< HEAD -======= - "https://www.w3.org/ns/status-list/v2" ->>>>>>> 0b2296b (chore: update title and urls to contexts) ], "id": "https://example.com/credentials/status/3", "type": ["VerifiableCredential", "StatusListCredential"], From 338b7e146083101c1898dcdce26d200175b5d6ca Mon Sep 17 00:00:00 2001 From: mprorock Date: Wed, 2 Aug 2023 12:14:17 -0600 Subject: [PATCH 6/8] chore: adjust key types to be prefixed with bitstring, e.g. bitstringstatuslist from statuslist --- index.html | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/index.html b/index.html index 473aea1..7f17acf 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,7 @@ - Verifiable Credential Status List v2.0 + Verifiable Credential Bit String Status List v1.0