From b555ccd8c30d0d9d1c577628ebc0ce3d768d8cdb Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Fri, 31 Mar 2023 19:18:51 +0900
Subject: [PATCH 01/13] add examples
---
examples/vc-2.0/credential-metadata.json | 6 ---
examples/vc-2.0/generate.js | 39 +++++++++++++------
examples/vc-2.0/package.json | 2 +-
.../vc+jwt/claimset.json} | 1 +
examples/vc-2.0/templates/vc+jwt/header.json | 5 +++
.../vc-2.0/templates/vc+ld+jwt/claimset.json | 16 ++++++++
.../vc-2.0/templates/vc+ld+jwt/header.json | 6 +++
.../vc-2.0/templates/vp+ld+jwt/claimset.json | 10 +++++
.../vc-2.0/templates/vp+ld+jwt/header.json | 6 +++
examples/vc-2.0/vc+jwt.jose | 1 +
examples/vc-2.0/vc+ld+jwt.jose | 1 +
examples/vc-2.0/verifiable-credential.jwt | 1 -
examples/vc-2.0/vp+ld+jwt.jose | 1 +
13 files changed, 75 insertions(+), 20 deletions(-)
delete mode 100644 examples/vc-2.0/credential-metadata.json
rename examples/vc-2.0/{credential.json => templates/vc+jwt/claimset.json} (69%)
create mode 100644 examples/vc-2.0/templates/vc+jwt/header.json
create mode 100644 examples/vc-2.0/templates/vc+ld+jwt/claimset.json
create mode 100644 examples/vc-2.0/templates/vc+ld+jwt/header.json
create mode 100644 examples/vc-2.0/templates/vp+ld+jwt/claimset.json
create mode 100644 examples/vc-2.0/templates/vp+ld+jwt/header.json
create mode 100644 examples/vc-2.0/vc+jwt.jose
create mode 100644 examples/vc-2.0/vc+ld+jwt.jose
delete mode 100644 examples/vc-2.0/verifiable-credential.jwt
create mode 100644 examples/vc-2.0/vp+ld+jwt.jose
diff --git a/examples/vc-2.0/credential-metadata.json b/examples/vc-2.0/credential-metadata.json
deleted file mode 100644
index 974aaf8e..00000000
--- a/examples/vc-2.0/credential-metadata.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "kid": "urn:example:issuer#key-0",
- "alg": "ES256",
- "typ": "verifiable-credential+jwt",
- "cty": "credential-claims-set+json"
-}
\ No newline at end of file
diff --git a/examples/vc-2.0/generate.js b/examples/vc-2.0/generate.js
index c74894be..0f594b47 100644
--- a/examples/vc-2.0/generate.js
+++ b/examples/vc-2.0/generate.js
@@ -1,6 +1,7 @@
const jose = require('jose');
const fs = require('fs');
+
const privateKeyJwk = {
"kid": "urn:ietf:params:oauth:jwk-thumbprint:sha-256:GNcrpR6vVHCzTe7W-9ntbJx_5hHfhiVCHWHEUaC4E_c",
"kty": "EC",
@@ -11,19 +12,33 @@ const privateKeyJwk = {
"d": "bAv9YrE443mH36LnzixS3Kv5ThM5m9mH7Ab_BiU3JZc"
};
-const credentialMetadata = require('./credential-metadata.json');
-const credential = require('./credential.json');
+const examples = {
+ 'vc+jwt': {
+ header: require('./templates/vc+jwt/header.json'),
+ claimset: require('./templates/vc+jwt/claimset.json')
+ },
+ 'vc+ld+jwt': {
+ header: require('./templates/vc+ld+jwt/header.json'),
+ claimset: require('./templates/vc+ld+jwt/claimset.json')
+ },
+ 'vp+ld+jwt': {
+ header: require('./templates/vp+ld+jwt/header.json'),
+ claimset: require('./templates/vp+ld+jwt/claimset.json')
+ },
+};
-(async ()=>{
+const issue = async (header, claimset) => {
const privateKey = await jose.importJWK(privateKeyJwk);
- const issuer = `urn:example:issuer`
- const audience = `urn:example:audience`
- const jwt = await new jose.SignJWT(credential)
- .setProtectedHeader(credentialMetadata)
- .setIssuedAt()
- .setIssuer(issuer)
- .setAudience(audience)
- .setExpirationTime('2h')
+ const jwt = await new jose.CompactSign(Buffer.from(JSON.stringify(claimset)))
+ .setProtectedHeader(header)
.sign(privateKey)
- fs.writeFileSync('./verifiable-credential.jwt', jwt);
+ return jwt;
+}
+
+(async ()=>{
+ for (const typ in examples){
+ const {header, claimset} = examples[typ];
+ const jwt = await issue(header, claimset)
+ fs.writeFileSync(`./${typ}.jose`, jwt);
+ }
})()
\ No newline at end of file
diff --git a/examples/vc-2.0/package.json b/examples/vc-2.0/package.json
index f279fb0b..32aa3a99 100644
--- a/examples/vc-2.0/package.json
+++ b/examples/vc-2.0/package.json
@@ -4,7 +4,7 @@
"description": "",
"main": "index.js",
"scripts": {
- "test": "node generate.js"
+ "generate:examples": "node generate.js"
},
"author": "Orie Steele",
"license": "ISC",
diff --git a/examples/vc-2.0/credential.json b/examples/vc-2.0/templates/vc+jwt/claimset.json
similarity index 69%
rename from examples/vc-2.0/credential.json
rename to examples/vc-2.0/templates/vc+jwt/claimset.json
index 81b4e04e..423842c8 100644
--- a/examples/vc-2.0/credential.json
+++ b/examples/vc-2.0/templates/vc+jwt/claimset.json
@@ -1,4 +1,5 @@
{
+ "iss": "https://example.edu/issuers/14",
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022,
diff --git a/examples/vc-2.0/templates/vc+jwt/header.json b/examples/vc-2.0/templates/vc+jwt/header.json
new file mode 100644
index 00000000..9d7d58c8
--- /dev/null
+++ b/examples/vc-2.0/templates/vc+jwt/header.json
@@ -0,0 +1,5 @@
+{
+ "kid": "https://example.edu/issuers/14#key-0",
+ "alg": "ES256",
+ "typ": "vc+jwt"
+}
\ No newline at end of file
diff --git a/examples/vc-2.0/templates/vc+ld+jwt/claimset.json b/examples/vc-2.0/templates/vc+ld+jwt/claimset.json
new file mode 100644
index 00000000..06dd1b96
--- /dev/null
+++ b/examples/vc-2.0/templates/vc+ld+jwt/claimset.json
@@ -0,0 +1,16 @@
+{
+ "@context": [
+ "https://www.w3.org/ns/credentials/v2"
+ ],
+ "id": "http://example.edu/credentials/3732",
+ "type": ["VerifiableCredential", "UniversityDegreeCredential"],
+ "issuer": "https://example.edu/issuers/14",
+ "issuanceDate": "2010-01-01T19:23:24Z",
+ "credentialSubject": {
+ "id": "did:example:123",
+ "degree": {
+ "type": "BachelorDegree",
+ "name": "Bachelor of Science and Arts"
+ }
+ }
+}
\ No newline at end of file
diff --git a/examples/vc-2.0/templates/vc+ld+jwt/header.json b/examples/vc-2.0/templates/vc+ld+jwt/header.json
new file mode 100644
index 00000000..a8fe1d68
--- /dev/null
+++ b/examples/vc-2.0/templates/vc+ld+jwt/header.json
@@ -0,0 +1,6 @@
+{
+ "kid": "urn:example:issuer#key-0",
+ "alg": "ES256",
+ "typ": "vc+ld+jwt",
+ "cty": "vc+ld+json"
+}
\ No newline at end of file
diff --git a/examples/vc-2.0/templates/vp+ld+jwt/claimset.json b/examples/vc-2.0/templates/vp+ld+jwt/claimset.json
new file mode 100644
index 00000000..ef760eb8
--- /dev/null
+++ b/examples/vc-2.0/templates/vp+ld+jwt/claimset.json
@@ -0,0 +1,10 @@
+{
+ "@context": [
+ "https://www.w3.org/ns/credentials/v2"
+ ],
+ "id": "urn:uuid:3978344f-8596-4c3a-a978-8fcaba3903c5",
+ "type": ["VerifiablePresentation"],
+ "verifiableCredential": [
+ "eyJraWQiOiJodHRwczovL2V4YW1wbGUuZWR1L2lzc3VlcnMvMTQja2V5LTAiLCJhbGciOiJFUzI1NiIsInR5cCI6InZjK2p3dCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuZWR1L2lzc3VlcnMvMTQiLCJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJ1cm46ZXhhbXBsZTpjbGFpbSI6dHJ1ZX0.H3v8sm9_sOClSA65h_MK_ZsoBiuJ0z2pPNS-yfqXdUIWl0n5VlZlfANsMYaTycF-Fdkdqjts6H-q4LO27vxFnA"
+ ]
+}
\ No newline at end of file
diff --git a/examples/vc-2.0/templates/vp+ld+jwt/header.json b/examples/vc-2.0/templates/vp+ld+jwt/header.json
new file mode 100644
index 00000000..feb5c137
--- /dev/null
+++ b/examples/vc-2.0/templates/vp+ld+jwt/header.json
@@ -0,0 +1,6 @@
+{
+ "kid": "urn:example:holder#key-0",
+ "alg": "ES256",
+ "typ": "vp+ld+jwt",
+ "cty": "vp+ld+json"
+}
\ No newline at end of file
diff --git a/examples/vc-2.0/vc+jwt.jose b/examples/vc-2.0/vc+jwt.jose
new file mode 100644
index 00000000..75c08bfc
--- /dev/null
+++ b/examples/vc-2.0/vc+jwt.jose
@@ -0,0 +1 @@
+eyJraWQiOiJodHRwczovL2V4YW1wbGUuZWR1L2lzc3VlcnMvMTQja2V5LTAiLCJhbGciOiJFUzI1NiIsInR5cCI6InZjK2p3dCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuZWR1L2lzc3VlcnMvMTQiLCJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJ1cm46ZXhhbXBsZTpjbGFpbSI6dHJ1ZX0.WLD4Qxh629TFkJHzmbkWEefYX-QPkdCmxbBMKNHErxND2QpjVBbatxHkxS9Y_SzBmwffuM2E9i5VvVgpZ6v4Tg
\ No newline at end of file
diff --git a/examples/vc-2.0/vc+ld+jwt.jose b/examples/vc-2.0/vc+ld+jwt.jose
new file mode 100644
index 00000000..0f93a57a
--- /dev/null
+++ b/examples/vc-2.0/vc+ld+jwt.jose
@@ -0,0 +1 @@
+eyJraWQiOiJ1cm46ZXhhbXBsZTppc3N1ZXIja2V5LTAiLCJhbGciOiJFUzI1NiIsInR5cCI6InZjK2xkK2p3dCIsImN0eSI6InZjK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJodHRwOi8vZXhhbXBsZS5lZHUvY3JlZGVudGlhbHMvMzczMiIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJVbml2ZXJzaXR5RGVncmVlQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJodHRwczovL2V4YW1wbGUuZWR1L2lzc3VlcnMvMTQiLCJpc3N1YW5jZURhdGUiOiIyMDEwLTAxLTAxVDE5OjIzOjI0WiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmV4YW1wbGU6MTIzIiwiZGVncmVlIjp7InR5cGUiOiJCYWNoZWxvckRlZ3JlZSIsIm5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIn19fQ.pfbhgWlTUZA8WmoFbi8WEIUFyC_lSQaAswoW87D1YeimdWZLq4MiJ3o-CmTkvkEQFhffvRiCzmkhxjS_R_RdOw
\ No newline at end of file
diff --git a/examples/vc-2.0/verifiable-credential.jwt b/examples/vc-2.0/verifiable-credential.jwt
deleted file mode 100644
index dce4779b..00000000
--- a/examples/vc-2.0/verifiable-credential.jwt
+++ /dev/null
@@ -1 +0,0 @@
-eyJraWQiOiJ1cm46ZXhhbXBsZTppc3N1ZXIja2V5LTAiLCJhbGciOiJFUzI1NiIsInR5cCI6InZlcmlmaWFibGUtY3JlZGVudGlhbCtqd3QiLCJjdHkiOiJjcmVkZW50aWFsK2pzb24ifQ.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNjc1MjAxNTc4LCJ1cm46ZXhhbXBsZTpjbGFpbSI6dHJ1ZSwiaXNzIjoidXJuOmV4YW1wbGU6aXNzdWVyIiwiYXVkIjoidXJuOmV4YW1wbGU6YXVkaWVuY2UiLCJleHAiOjE2NzUyMDg3Nzh9.BELg5BSlmhpltYWlX9TBzuRj8Jwe_i1xvwS0UmyeN1-NHIoElhJKSb3DM66_14GOu9VY8MQ4KsF3caqri7c6ZQ
\ No newline at end of file
diff --git a/examples/vc-2.0/vp+ld+jwt.jose b/examples/vc-2.0/vp+ld+jwt.jose
new file mode 100644
index 00000000..0109704a
--- /dev/null
+++ b/examples/vc-2.0/vp+ld+jwt.jose
@@ -0,0 +1 @@
+eyJraWQiOiJ1cm46ZXhhbXBsZTpob2xkZXIja2V5LTAiLCJhbGciOiJFUzI1NiIsInR5cCI6InZwK2xkK2p3dCIsImN0eSI6InZwK2xkK2pzb24ifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJ1cm46dXVpZDozOTc4MzQ0Zi04NTk2LTRjM2EtYTk3OC04ZmNhYmEzOTAzYzUiLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwidmVyaWZpYWJsZUNyZWRlbnRpYWwiOlsiZXlKcmFXUWlPaUpvZEhSd2N6b3ZMMlY0WVcxd2JHVXVaV1IxTDJsemMzVmxjbk12TVRRamEyVjVMVEFpTENKaGJHY2lPaUpGVXpJMU5pSXNJblI1Y0NJNkluWmpLMnAzZENKOS5leUpwYzNNaU9pSm9kSFJ3Y3pvdkwyVjRZVzF3YkdVdVpXUjFMMmx6YzNWbGNuTXZNVFFpTENKemRXSWlPaUl4TWpNME5UWTNPRGt3SWl3aWJtRnRaU0k2SWtwdmFHNGdSRzlsSWl3aWFXRjBJam94TlRFMk1qTTVNREl5TENKMWNtNDZaWGhoYlhCc1pUcGpiR0ZwYlNJNmRISjFaWDAuSDN2OHNtOV9zT0NsU0E2NWhfTUtfWnNvQml1SjB6MnBQTlMteWZxWGRVSVdsMG41VmxabGZBTnNNWWFUeWNGLUZka2RxanRzNkgtcTRMTzI3dnhGbkEiXX0.XIiemybajGhLwxE6dTsBioYCpb8vxT4x5we_lig2iMRlU2q4oXbvqAi02HpXmzd6LuTy8sOUi4OKjRaOIMb7_w
\ No newline at end of file
From e631856174ca872722842afad359959c68c7f3f7 Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Fri, 31 Mar 2023 19:19:23 +0900
Subject: [PATCH 02/13] update examples
---
index.html | 199 ++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 134 insertions(+), 65 deletions(-)
diff --git a/index.html b/index.html
index e583f3f4..462db8dd 100644
--- a/index.html
+++ b/index.html
@@ -113,8 +113,139 @@ Relation to the Verifiable Credentials Data Model
verifiable presentation MAY be omitted to avoid duplication.
+
-
+
+ Securing JSON-LD
+
+ With JOSE
+
+ Securing application/vc+ld+json
with JOSE
+ [[rfc7515]] MAY be used to secure this media type.
+ typ
MUST be vc+ld+jwt
+ cty
MUST be vc+ld+json
+ See Common JOSE Header Parameters for additional details.
+
+
+
+ Verifiable Credential
+
+
+
+
+ Securing application/vp+ld+json
with JOSE
+ [[rfc7515]] MAY be used to secure this media type.
+ typ
MUST be vp+ld+jwt
+ cty
MUST be vp+ld+json
+ See Common JOSE Header Parameters for additional details.
+
+ Presentation Header
+
+
+
+
+ Verifiable Presentation
+
+
+
+
+
+
+
+
+ Securing JSON
+
+ This representation relies on claims registered in the
+ IANA JSON Web Token Claims Registry whenever possible.
+
+
+ Production of this representation does not use credential+ld+json
as an input.
+
+
+ Credential Header
+ typ MUST use the content type verifiable-credential+jwt
.
+
+ If present, cty SHOULD use the content type credential-claims-set+json
.
+
+
+
+ Credential
+
+
+ The vc
and vp
claims MUST NOT be present when using the content type credential-claims-set+json
.
+
+
+
+ Verifiable Credential
+
+
@@ -154,7 +285,7 @@ JWT Encoding
To encode a verifiable credential as a JWT, specific
properties
- introduced by this specification MUST be either:
+ introduced MUST be either:
@@ -725,69 +856,7 @@ issuance
-
- Version 2
-
- This representation relies on claims registered in the
- IANA JSON Web Token Claims Registry whenever possible.
-
-
- Production of this representation does not use credential+ld+json
as an input.
-
-
- Credential Metadata
- typ MUST use the content type verifiable-credential+jwt
.
-
- If present, cty SHOULD use the content type credential-claims-set+json
.
-
-
-
- Credential
-
-
- The vc
and vp
claims MUST NOT be present when using the content type credential-claims-set+json
.
-
-
-
- Verifiable Credential
-
-
-
-
-
- Securing JSON-LD
-
- Securing application/credential+ld+json
with JOSE
- [[rfc7515]] MAY be used to secure this media type.
- typ
MUST be vc+ld+jwt
- cty
MUST be credential+ld+json
- See Common JOSE Header Parameters for additional details.
-
-
-
+
From 7367a9f708d883b3a512e3651297cdb7f0a457f2 Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Fri, 31 Mar 2023 17:47:10 -0700
Subject: [PATCH 03/13] 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 5982d59d..d9d41b89 100644
--- a/index.html
+++ b/index.html
@@ -108,7 +108,7 @@ Introduction
Verifiable Credentials Data Model
This specification describes how to secure media types
- for expressing Verifiable Credentials and Verifiable Presentations
+ expressing Verifiable Credentials and Verifiable Presentations
as described in [[VC-DATA-MODEL]].
From 35ca0fd89f62be07c3a4f5555efb8da392d1feab Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Fri, 31 Mar 2023 18:04:32 -0700
Subject: [PATCH 04/13] Apply suggestions from code review
Co-authored-by: Andres Uribe
Co-authored-by: Ted Thibodeau Jr
---
index.html | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/index.html b/index.html
index d9d41b89..061810f9 100644
--- a/index.html
+++ b/index.html
@@ -132,7 +132,7 @@ Securing JSON
Credential Header
- typ MUST use the content type vc+jwt
.
+ typ MUST use the media type vc+jwt
.
- The vc
and vp
claims MUST NOT be present when using the content type credential-claims-set+json
.
+ The vc
and vp
claims MUST NOT be present when the content type header parameter is set to credential-claims-set+json
.
@@ -290,7 +290,7 @@ JWT Encoding
To encode a verifiable credential as a JWT, specific
properties
- introduced MUST be either:
+ MUST be either:
@@ -689,14 +689,14 @@ In addition to...
- If a member is not present in the application/vc+ld+json
it MUST NOT
+ If a member is not present in the application/vc+ld+json
, 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
+ We start with payload objects and an empty header, and we add members
to the header and the payload based on the content in the
application/vc+ld+json
.
@@ -771,7 +771,7 @@ Instead of...
Complete the mapping for In Addition To....
-
- Remove any properties from the
application/vc+ld+json
that were mapped.
+ Remove any properties from the application/vc+ld+json
that were mapped in the previous steps.
-
Set the resulting object to be the
vc
member of the claim set.
From f5656b960284947b0a7f4e2f7efc20421f9eba00 Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Thu, 6 Apr 2023 07:46:01 -0500
Subject: [PATCH 05/13] Update index.html
Co-authored-by: Kristina <52878547+Sakurann@users.noreply.github.com>
---
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/index.html b/index.html
index 061810f9..115bafb3 100644
--- a/index.html
+++ b/index.html
@@ -109,7 +109,7 @@ Verifiable Credentials Data Model
This specification describes how to secure media types
expressing Verifiable Credentials and Verifiable Presentations
- as described in [[VC-DATA-MODEL]].
+ as described in [[VC-DATA-MODEL]], using JWTs [[RFC7519]].
The vc+jwt
media type described in this specification defines
From 299bb59e59410c8862b6cc040a2c05a43eb3c3ff Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Thu, 6 Apr 2023 07:46:34 -0500
Subject: [PATCH 06/13] Update index.html
Co-authored-by: Kristina <52878547+Sakurann@users.noreply.github.com>
---
index.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index 115bafb3..cb82ba48 100644
--- a/index.html
+++ b/index.html
@@ -113,8 +113,8 @@ Verifiable Credentials Data Model
The vc+jwt
media type described in this specification defines
- an example unidirectional mapping to JSON-LD in order to demonstrate
- conformance with the [[VC-DATA-MODEL]], see Appendix A.4.1.
+ an example of an unidirectional mapping to a base media type defined in
+ the [[VC-DATA-MODEL]], see Appendix A.4.1.
From 652bfcadf4282ce4fc2a9e61c5df48c4045f63f8 Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Thu, 6 Apr 2023 12:16:06 -0500
Subject: [PATCH 07/13] Update index.html
Co-authored-by: Kristina <52878547+Sakurann@users.noreply.github.com>
---
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/index.html b/index.html
index cb82ba48..bda4a31d 100644
--- a/index.html
+++ b/index.html
@@ -662,7 +662,7 @@ JWT Decoding
- Verifiable Credential as Registered Claim
+ Verifiable Credential as a Registered Claim
This section describes how to produce a VC-JWT encoded
From 1dd9cca85d2a895c72c1fa5b3a5b40e2738b2425 Mon Sep 17 00:00:00 2001
From: "Michael B. Jones"
Date: Thu, 6 Apr 2023 10:21:42 -0700
Subject: [PATCH 08/13] Update index.html
Co-authored-by: Ted Thibodeau Jr
---
index.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index bda4a31d..b6b405bb 100644
--- a/index.html
+++ b/index.html
@@ -113,8 +113,8 @@ Verifiable Credentials Data Model
The vc+jwt
media type described in this specification defines
- an example of an unidirectional mapping to a base media type defined in
- the [[VC-DATA-MODEL]], see Appendix A.4.1.
+ an example of a unidirectional mapping to a base media type defined in
+ the [[VC-DATA-MODEL]]; see Appendix A.4.1.
From 4ac078d6745ef992fcdea98e0cd06ff225366d62 Mon Sep 17 00:00:00 2001
From: "Michael B. Jones"
Date: Thu, 6 Apr 2023 10:22:12 -0700
Subject: [PATCH 09/13] 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 b6b405bb..9b5f3683 100644
--- a/index.html
+++ b/index.html
@@ -112,7 +112,7 @@ Verifiable Credentials Data Model
as described in [[VC-DATA-MODEL]], using JWTs [[RFC7519]].
- The vc+jwt
media type described in this specification defines
+ The application/vc+jwt
media type described in this specification defines
an example of a unidirectional mapping to a base media type defined in
the [[VC-DATA-MODEL]]; see Appendix A.4.1.
From 482fbdf3fd1b39515b05e8fdb56764162d965837 Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Tue, 11 Apr 2023 09:28:30 -0500
Subject: [PATCH 10/13] add references to RFC7519
---
index.html | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/index.html b/index.html
index 5982d59d..92c04953 100644
--- a/index.html
+++ b/index.html
@@ -903,7 +903,9 @@ application/vc+jwt
Security considerations: |
- As defined in this specification. |
+
+ As defined in this specification. See also the security considerations in [[RFC7519]].
+ |
Contact: |
@@ -944,7 +946,9 @@ application/vc+ld+jwt
Security considerations: |
- As defined in this specification. |
+
+ As defined in this specification. See also the security considerations in [[RFC7519]].
+ |
Contact: |
@@ -987,7 +991,9 @@ application/credential-claims-set-1.1+json
Security considerations: |
- As defined in this specification. |
+
+ As defined in this specification. See also the security considerations in [[RFC7519]].
+ |
Contact: |
From bcd6464e3078704749e1b0231b2178db14c33340 Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Tue, 11 Apr 2023 09:46:14 -0500
Subject: [PATCH 11/13] Update index.html
Co-authored-by: Manu Sporny
---
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/index.html b/index.html
index f71954c6..0c608daa 100644
--- a/index.html
+++ b/index.html
@@ -929,7 +929,7 @@ application/vc+ld+jwt
Subtype name: |
- application/vc+ld+jwt |
+ vc+ld+jwt |
Required parameters: |
From 0f9177a0c8b9b7fe31f0ee9819ea98769e179fb0 Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Tue, 11 Apr 2023 09:46:32 -0500
Subject: [PATCH 12/13] Update index.html
Co-authored-by: Manu Sporny
---
index.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index 0c608daa..6dd804be 100644
--- a/index.html
+++ b/index.html
@@ -1051,8 +1051,8 @@ Example Mapping
If nbf
is present, set the value of validFrom
to the
dateTime
obtained by converting the value of nbf
from
-the NumericDate
described in RFC 7519 to a dateTime
as
-described in XMLSCHEMA11-2.
+the NumericDate
described in [[!RFC7519]] to a dateTime
as
+described in [[!XMLSCHEMA11-2]].
If exp
is present, set the value of validUntil
to the
From 6b7d9a9c09ba2d1e84baee9f87b392e107d547d8 Mon Sep 17 00:00:00 2001
From: Orie Steele
Date: Tue, 11 Apr 2023 10:20:42 -0500
Subject: [PATCH 13/13] Fix references in mapping language
---
index.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/index.html b/index.html
index 6dd804be..f19daa40 100644
--- a/index.html
+++ b/index.html
@@ -1057,8 +1057,8 @@ Example Mapping
If exp
is present, set the value of validUntil
to the
dateTime
obtained by converting the value of exp
from
-the NumericDate
described in RFC 7519 to a dateTime
as
-described in XMLSCHEMA11-2.
+the NumericDate
described in [[!RFC7519]] to a dateTime
as
+described in [[!XMLSCHEMA11-2]].
Set the value of credentialSubject
to an object that contains