From b6c8bb08033fb7a6b516fc7e1f1b52fff284cc1f Mon Sep 17 00:00:00 2001
From: David Chadwick Relation to the Verifiable Credentials Data Model
header parameter names to allow systems based on JWT to comply with this
specification. If these specific claim names and header parameters are
present, their respective counterpart in the standard
-verifiable credential and verifiable presentation MAY be omitted
+verifiable credential and verifiable presentation SHOULD be omitted
to avoid duplication.
vc
: JSON object, which MUST be present in a JWT
verifiable credential. The object contains the
-verifiable credential according to this specification.
+credential according to this specification.
vp
: JSON object, which MUST be present in a JWT
verifiable presentation. The object contains the
-verifiable presentation according to this specification.
+presentation according to this specification.
If no explicit rule is specified, properties are encoded in the same way
-as with a standard verifiable credential, and are added to the
+as with a standard credential, and are added to the
vc
claim of the JWT. As with all JWTs, the JWS-based
signature of a verifiable credential represented in the JWT syntax is
calculated against the literal JWT string value as presented across the wire,
@@ -3515,10 +3515,10 @@
-If a JWS is present, the digital signature either refers to the issuer
+If a JWS is present, the digital signature refers to either the issuer
of the verifiable credential, or in the case of a
-verifiable presentation, the holder of the
-verifiable credential. The JWS proves that the issuer of the JWT
+verifiable presentation, to the holder of the
+verifiable credential. The JWS proves that the iss of the JWT
signed the contained JWT payload and therefore, the proof
property can be omitted.
For backward compatibility with JWT processors, the following JWT-registered -claim names MUST be used instead of, or in addition to, their respective +claim names MUST be used instead of their respective standard verifiable credential counterparts:
@@ -3581,7 +3581,8 @@sub
MUST represent the id
property contained
-in the verifiable credential subject.
+in the credentialSubject
.
+Note. In the case of bearer credential
s and presentation
s, sub
will be absent.
aud
MUST represent (i.e., identify) the intended audience
@@ -3631,7 +3632,7 @@ -To decode a JWT to a standard verifiable credential, the following +To decode a JWT to a standard credential or presentation, the following transformation MUST be performed:
@@ -3640,11 +3641,11 @@vc
claim to the new JSON object.
+Add the content from the vc
or vp
claim to the new JSON object.
exp
is present, the UNIX timestamp MUST be converted to an
[[!RFC3339]] date-time
, and MUST be used to set the value
-of the expirationDate
property of
-credentialSubject
of the new JSON object.
+of the expirationDate
property of the new JSON object.
iss
is present, the value MUST be used to set the
-issuer
property of the new verifiable credential JSON object
- or the holder
property of the new verifiable presentation JSON object.
+issuer
property of the new credential JSON object
+ or the holder
property of the new presentation JSON object.
nbf
is present, the UNIX timestamp MUST be converted to an
@@ -3672,7 +3672,7 @@ sub
is present, the value MUST be used to set the value of the
-id
property of credentialSubject
of the new
+id
property of credentialSubject
of the new credential
JSON object.
-If a JWS is present, the digital signature refers to either the issuer
+If a JWS is present, the digital signature refers either to the 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
From 9b74b453d265cedd926812212444b2be67d11041 Mon Sep 17 00:00:00 2001
From: David Chadwick JWT Encoding
If a JWS is present, the digital signature refers either to the 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
+verifiable credential. The JWS proves that the iss
of the JWT
signed the contained JWT payload and therefore, the proof
property can be omitted.
JWT
encoding uses the jti
attribute to represent a unique identifier. The sub
attribute
encodes the information represented by the id
property of
-credentialSubject
.
+credentialSubject
. The nonce
has been added to stop a replay attack.
@@ -3769,6 +3770,7 @@JWT Decoding
"nbf": 1541493724, "iat": 1541493724, "exp": 1573029723, + "nonce": "343s$FSFDa-", "vp": { "@context": [ "https://www.w3.org/2018/credentials/v1", @@ -3786,7 +3788,7 @@JWT Decoding
property because theJWT
encoding uses thejti
attribute to represent a unique identifier.verifiableCredential
contains a string array of verifiable credentials using -JWT
compact serialization. +JWT
compact serialization. Thenonce
has been added to stop a replay attack.From 0b066bb523c47bf53308a97f3abd199afc3a0410 Mon Sep 17 00:00:00 2001 From: David ChadwickDate: Mon, 15 Nov 2021 17:06:18 +0000 Subject: [PATCH 5/7] fixing merge conflicts Fixing merge conflicts --- index.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 94d2161c4..65fdac5a5 100644 --- a/index.html +++ b/index.html @@ -3556,7 +3556,7 @@ JWT Encoding
-For backward compatibility with JWT processors, the following JWT-registered +For backward compatibility with JWT processors, the following registered JWT claim names MUST be used instead of their respective standard verifiable credential counterparts:
@@ -3656,8 +3656,9 @@JWT Decoding
- -If
exp
is present, the UNIX timestamp MUST be converted to an -[[!RFC3339]]date-time
, and MUST be used to set the value +Ifexp
is present, the UNIX timestamp MUST be converted to an [XMLSCHEMA11-2]date-time
, +and MUST be used to set the value of theexpirationDate
property of the new JSON object.- From 6bc9b2e95c76700853a6fa5c32edf33a34ea77e3 Mon Sep 17 00:00:00 2001 From: David Chadwick
Date: Wed, 17 Nov 2021 21:10:05 +0000 Subject: [PATCH 6/7] Adding back "in addition to" --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 0259257ec..a5e0b7937 100644 --- a/index.html +++ b/index.html @@ -3576,7 +3576,7 @@ JWT Encoding
For backward compatibility with JWT processors, the following registered JWT -claim names MUST be used instead of their respective standard +claim names MUST be used instead of, or in addition to, their respective standard verifiable credential counterparts:
From 1669a1422456b7fd3ba2151b8596e95e395398ff Mon Sep 17 00:00:00 2001 From: Manu SpornyDate: Sat, 20 Nov 2021 15:54:04 -0500 Subject: [PATCH 7/7] Use Note format for notes. Co-authored-by: Ted Thibodeau Jr --- index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index a5e0b7937..e86197c47 100644 --- a/index.html +++ b/index.html @@ -3601,7 +3601,8 @@ JWT Encoding
sub
MUST represent theid
property contained in thecredentialSubject
. -Note. In the case ofbearer credential
s andpresentation
s,sub
will be absent. +In
bearer credentials
andpresentations
, +sub
will not be present.aud
MUST represent (i.e., identify) the intended audience