From 1d6a4867768e8ddb83ea2550bb47b5b4e0daf5cd Mon Sep 17 00:00:00 2001 From: Orie Steele Date: Wed, 31 Aug 2022 12:05:50 -0500 Subject: [PATCH 1/5] Begin production rules --- index.html | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/index.html b/index.html index 74a2ed47..722b1050 100644 --- a/index.html +++ b/index.html @@ -543,6 +543,99 @@
JWT Decoding
+
+

Production

+ +

+ This section describes how to produce a VC-JWT encoded + VerifiableCredential from a Credential. +

+ +

+ There are currently 2 competing solutions to this problem. It is a goal + of the v2 work to define a breaking change to the specification that + reduces production rules to a single, simple, set of instructions that + any implementer can easily meet if they posses a software library + supporting [[RFC7515]] or [[RFC7519]]. +

+ +
+

In addition to...

+ +

+ There are several members (claims) of the + Credential which will need to be translated to their JOSE + form, and included next to the vc or + vp member in the payload. +

+ +

+ If a member is not present in the Credential it MUST NOT + be present in the VerifiableCredential as either a claim + in the payload or a claim in the vc attribute of the + payload. +

+ +

+ We start with an empty header, and payload objects, and we add members + to the header and the payload based on the content in the + Credential. +

+ +
+

issuer -> iss

+ +

+ This member MUST be present in the + payload.vc.issuer attribute as either a string or an + object with and id. +

+ +

This member MUST be present payload.iss.

+ +

+ In the case that payload.vc.issuer is an object, + payload.iss MUST be payload.vc.issuer.id. +

+ +

+ In the case that + payload.vc.issuer is a string, + payload.iss must be + payload.vc.issuer +

+
+ +
+

issuanceDate -> nbf

+ +

+ This member MUST be present in the + payload.vc.issuanceDate attribute as an XMLDateTime + String. +

+ +

+ This member MUST be present payload.nbf as a unix + timestamp. +

+ +

+ In the case that the issuanceDate includes leap + seconds, it is not possible to detect them when the date time is + represented in nbf +

+
+ +

This section needs to be defined.

+
+ +
+

Instead of...

+

This section needs to be defined.

+
+
+

Privacy Considerations

From d8e5418fa0689fd61f62f897d953dee3df56ba38 Mon Sep 17 00:00:00 2001 From: Orie Steele Date: Wed, 31 Aug 2022 12:54:56 -0500 Subject: [PATCH 2/5] Update index.html Co-authored-by: Kristina <52878547+Sakurann@users.noreply.github.com> --- index.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 722b1050..9ef62ed9 100644 --- a/index.html +++ b/index.html @@ -552,10 +552,10 @@

Production

- There are currently 2 competing solutions to this problem. It is a goal - of the v2 work to define a breaking change to the specification that - reduces production rules to a single, simple, set of instructions that - any implementer can easily meet if they posses a software library + There are currently 2 competing solutions to this problem described below. It is a goal + of the v2 work to resolve them and + reduce production rules to a single, simple, set of instructions that + any implementer can easily meet if they possess a software library supporting [[RFC7515]] or [[RFC7519]].

From 2902fe9a91c59925b2accee18280f13bb951df2d Mon Sep 17 00:00:00 2001 From: Orie Steele Date: Wed, 31 Aug 2022 15:02:11 -0500 Subject: [PATCH 3/5] Add comment about issuance --- index.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/index.html b/index.html index 722b1050..558020b8 100644 --- a/index.html +++ b/index.html @@ -628,6 +628,18 @@

issuanceDate -> nbf

This section needs to be defined.

+ +
+

issuance

+ +

+ The header and payload converted into a JWT, in accorance with the + RFC: + RFC7519 Section 7.1 +

+
From b4c079b13d7d42840c2cd40d8502cdf5103c1b6d Mon Sep 17 00:00:00 2001 From: Orie Steele Date: Fri, 21 Oct 2022 07:58:10 -0500 Subject: [PATCH 4/5] Address JWT Claims Set --- index.html | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index ad6f41ee..d3c97879 100644 --- a/index.html +++ b/index.html @@ -129,7 +129,7 @@
JSON Web Token Extensions
which contain those parts of the standard verifiable credentials and verifiable presentations where no explicit encoding rules for - JWT exist. These objects are enclosed in the JWT payload as follows: + JWT exist. These objects are enclosed in the JWT Claims Set as follows:

    @@ -180,7 +180,7 @@
    JWT Encoding
    issuer of the verifiable credential, or in the case of a verifiable presentation, to the holder of the verifiable credential. The JWS proves that the - iss of the JWT signed the contained JWT payload and + iss of the JWT signed the contained JWT Claims Set and therefore, the proof property can be omitted.

    @@ -391,7 +391,7 @@
    JWT Decoding
     {
     "sub": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    @@ -469,7 +469,7 @@ 
    JWT Decoding
     {
     "iss": "did:example:ebfeb1f712ebc6f1c276e12ec21",
    @@ -566,7 +566,8 @@ 

    In addition to...

    There are several members (claims) of the Credential which will need to be translated to their JOSE form, and included next to the vc or - vp member in the payload. + vp member in the JWT Claims Set. + We refere to the JWT Claims Set as payload in this section.

    From d503d9939699c233c27cc448fcd731afba958e1f Mon Sep 17 00:00:00 2001 From: Orie Steele Date: Tue, 25 Oct 2022 08:53:18 -0500 Subject: [PATCH 5/5] Update index.html Co-authored-by: Ted Thibodeau Jr --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index d3c97879..b45a43b7 100644 --- a/index.html +++ b/index.html @@ -567,7 +567,7 @@

    In addition to...

    Credential which will need to be translated to their JOSE form, and included next to the vc or vp member in the JWT Claims Set. - We refere to the JWT Claims Set as payload in this section. + We refer to the JWT Claims Set as payload in this section.