[java-idp-plugin-vci] branch VCDMImprovements updated: Copy VCDM members of credential_definition into vc+sd-jwt credentials
Codeberg
noreply at shibboleth.net
Fri Oct 9 14:00:53 UTC 2026
This is an automated email from the git hooks/post-receive script.
codeberg pushed a commit to branch VCDMImprovements
in repository java-idp-plugin-vci.
View the commit online:
https://codeberg.org/Shibboleth/java-idp-plugin-vci/commit/c87ea695dd9ba1a7f50052c334ed68eb2284f369
The following commit(s) were added to refs/heads/VCDMImprovements by this push:
new c87ea69 Copy VCDM members of credential_definition into vc+sd-jwt credentials
c87ea69 is described below
commit c87ea695dd9ba1a7f50052c334ed68eb2284f369
Author: Janne Lauros <janne.lauros at csc.fi>
AuthorDate: Fri Oct 9 17:00:34 2026 +0300
Copy VCDM members of credential_definition into vc+sd-jwt credentials
---
README.md | 18 ++++++++---------
.../step-1/metadata/verifiable-credentials.json | 2 +-
.../step-2/metadata/verifiable-credentials.json | 2 +-
.../step-3/metadata/verifiable-credentials.json | 2 +-
.../step-4/metadata/verifiable-credentials.json | 2 +-
...eth-idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz | Bin 446857 -> 451818 bytes
...idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz.asc | 22 ++++++++++-----------
.../credential/CredentialConfigurationsTest.java | 2 +-
.../CredentialDefinitionWithMembers.json | 2 +-
9 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/README.md b/README.md
index 452048c..30702da 100644
--- a/README.md
+++ b/README.md
@@ -350,7 +350,7 @@ of the specification, per credential format. Below only the members that need ex
},
"termsOfUse": {
"id": "https://issuer.example.org/credentials/GeantIncubatorDiploma_W3C/terms",
- "type": "IssuerPolicy"
+ "type": "IncubatorTermsOfUse"
},
"relatedResource": [
{
@@ -444,10 +444,10 @@ the plugin copies it to every credential as it is.
| Member | Here |
|---|---|
| [`name`](https://www.w3.org/TR/vc-data-model-2.0/#names-and-descriptions) | Name in English and Finnish, as [language value objects](https://www.w3.org/TR/vc-data-model-2.0/#language-and-base-direction) |
-| [`description`](https://www.w3.org/TR/vc-data-model-2.0/#names-and-descriptions) | Description in English and Finnish, the same way |
+| [`description`](https://www.w3.org/TR/vc-data-model-2.0/#names-and-descriptions) | Description in English and Finnish, as [language value objects](https://www.w3.org/TR/vc-data-model-2.0/#language-and-base-direction) |
| [`credentialSchema`](https://www.w3.org/TR/vc-data-model-2.0/#data-schemas) | A [JSON Schema](https://www.w3.org/TR/vc-json-schema/#jsonschema) of the credential, a static file next to the context |
-| [`termsOfUse`](https://www.w3.org/TR/vc-data-model-2.0/#terms-of-use) | An issuer policy |
-| [`relatedResource`](https://www.w3.org/TR/vc-data-model-2.0/#integrity-of-related-resources) | Digests of the context and the schema |
+| [`termsOfUse`](https://www.w3.org/TR/vc-data-model-2.0/#terms-of-use) | A policy of your own, VCDM defines no types for it |
+| [`relatedResource`](https://www.w3.org/TR/vc-data-model-2.0/#integrity-of-related-resources) | [Subresource Integrity](https://www.w3.org/TR/SRI/) digests of the context and the schema |
| [`evidence`](https://www.w3.org/TR/vc-data-model-2.0/#evidence) | How the diploma was granted, the same for everyone |
The plugin adds [`id`](https://www.w3.org/TR/vc-data-model-2.0/#identifiers), [`issuer`](https://www.w3.org/TR/vc-data-model-2.0/#issuer),
@@ -1490,7 +1490,7 @@ Each file as it is after this step, the changes marked:
},
"termsOfUse": {
"id": "https://issuer.example.org/credentials/GeantIncubatorDiploma_W3C/terms",
- "type": "IssuerPolicy"
+ "type": "IncubatorTermsOfUse"
},
"relatedResource": [
{
@@ -2014,7 +2014,7 @@ Each file as it is after this step, the changes marked:
},
"termsOfUse": {
"id": "https://issuer.example.org/credentials/GeantIncubatorDiploma_W3C/terms",
- "type": "IssuerPolicy"
+ "type": "IncubatorTermsOfUse"
},
"relatedResource": [
{
@@ -2575,7 +2575,7 @@ Once the import is there every credential states the Entity Identifier, unless i
},
"termsOfUse": {
"id": "https://issuer.example.org/credentials/GeantIncubatorDiploma_W3C/terms",
- "type": "IssuerPolicy"
+ "type": "IncubatorTermsOfUse"
},
"relatedResource": [
{
@@ -2925,7 +2925,7 @@ the federation entry first:
},
{
"id": "https://issuer.example.org/terms",
- "type": "IssuerPolicy"
+ "type": "IncubatorTermsOfUse"
}
]
}
@@ -3165,7 +3165,7 @@ attestation required:
- },
- "termsOfUse": {
- "id": "https://issuer.example.org/credentials/GeantIncubatorDiploma_W3C/terms",
-- "type": "IssuerPolicy"
+- "type": "IncubatorTermsOfUse"
- },
- "relatedResource": [
- {
diff --git a/docs/example/step-1/metadata/verifiable-credentials.json b/docs/example/step-1/metadata/verifiable-credentials.json
index de9f4c9..620908d 100644
--- a/docs/example/step-1/metadata/verifiable-credentials.json
+++ b/docs/example/step-1/metadata/verifiable-credentials.json
@@ -62,7 +62,7 @@
},
"termsOfUse": {
"id": "https://issuer.example.org/credentials/GeantIncubatorDiploma_W3C/terms",
- "type": "IssuerPolicy"
+ "type": "IncubatorTermsOfUse"
},
"relatedResource": [
{
diff --git a/docs/example/step-2/metadata/verifiable-credentials.json b/docs/example/step-2/metadata/verifiable-credentials.json
index 75c2b46..c8dc76e 100644
--- a/docs/example/step-2/metadata/verifiable-credentials.json
+++ b/docs/example/step-2/metadata/verifiable-credentials.json
@@ -62,7 +62,7 @@
},
"termsOfUse": {
"id": "https://issuer.example.org/credentials/GeantIncubatorDiploma_W3C/terms",
- "type": "IssuerPolicy"
+ "type": "IncubatorTermsOfUse"
},
"relatedResource": [
{
diff --git a/docs/example/step-3/metadata/verifiable-credentials.json b/docs/example/step-3/metadata/verifiable-credentials.json
index d230f72..5c0f72d 100644
--- a/docs/example/step-3/metadata/verifiable-credentials.json
+++ b/docs/example/step-3/metadata/verifiable-credentials.json
@@ -62,7 +62,7 @@
},
"termsOfUse": {
"id": "https://issuer.example.org/credentials/GeantIncubatorDiploma_W3C/terms",
- "type": "IssuerPolicy"
+ "type": "IncubatorTermsOfUse"
},
"relatedResource": [
{
diff --git a/docs/example/step-4/metadata/verifiable-credentials.json b/docs/example/step-4/metadata/verifiable-credentials.json
index 2d49fe2..16482e0 100644
--- a/docs/example/step-4/metadata/verifiable-credentials.json
+++ b/docs/example/step-4/metadata/verifiable-credentials.json
@@ -68,7 +68,7 @@
},
"termsOfUse": {
"id": "https://issuer.example.org/credentials/GeantIncubatorDiploma_W3C/terms",
- "type": "IssuerPolicy"
+ "type": "IncubatorTermsOfUse"
},
"relatedResource": [
{
diff --git a/download/shibboleth-idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz b/download/shibboleth-idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz
index e5f20b3..0708877 100644
Binary files a/download/shibboleth-idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz and b/download/shibboleth-idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz differ
diff --git a/download/shibboleth-idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz.asc b/download/shibboleth-idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz.asc
index 101e7f3..b96fe84 100644
--- a/download/shibboleth-idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz.asc
+++ b/download/shibboleth-idp-plugin-openid-vci-0.9.0-SNAPSHOT.tar.gz.asc
@@ -1,14 +1,14 @@
-----BEGIN PGP SIGNATURE-----
-iQHPBAABCAA5FiEEoCV/y8Vr4Y+djZGw+mRLGOJQ2wsFAmrFBPcbFIAAAAAABAAO
-bWFudTIsMi41KzEuMTIsMCwzAAoJEPpkSxjiUNsL7FoMALM74CYF5+4Wobd40Lhi
-oVgcz03K09+6GWFfFRb1aXXH3kYCNdGhtwXTtGOnhRVNkiMC8QEoaD6pHY0d4QZo
-urho9Wv5LbpYP4gHfwmO/zdkvG/kZSmf8CZItB051WGcpddB3y2SmCkHdemXKyeC
-UFyU+BlKnJ1AO4ct8p+U7uaIJNa1t8En0/yM4Z3yau1XZ6IY1dG0dAkuNnPN2e3Q
-CEZEg4aHU3a0G3FvmQxAH0c4l7yfOkr1btNO1ihUVV/pJ0vTT4uyTsg4c9goLQv3
-tmSM7n9apbBZD2R4B7GGgRy+mTcAWuXL3klPzEnuDgGOIe79MGedfGgAolppdFG3
-y/ZL5uyEo++GrDxjEP+C7UxtdMHxJG04QYnvX+0BEA72/EbYTEd8LXQOyLvdmIk0
-RuIHUL4hcwXNoT87cpy1YiUwZ15WI2zrAwIjH2ZiinVWZxR7cQr3OE7PrxvNIZPb
-nnNNgOTphIb16n3aWTq3II/V9z8m05fC9TDxwgLkrjqr0A==
-=4Hc9
+iQHPBAABCAA5FiEEoCV/y8Vr4Y+djZGw+mRLGOJQ2wsFAmrI81MbFIAAAAAABAAO
+bWFudTIsMi41KzEuMTIsMCwzAAoJEPpkSxjiUNsLrvYMAMOGNopv23P+QO/fOGpX
+F9OsUGCkNgz+5rT+ErWcPIH52IFXD55VA/Lcjf+D5nru2YlhMc9Kg41YH7/T7Lys
+I18o6lVrFwd6oeHynHrDKGHoSNUkk5X9Sk4c+U6QStZ+DglNP6YTzSA+IfCE+gUj
+XMAMaNJH0hUi+rtP4OPgGH89aGsMU1MPl/O3z8IYdiTDHUk6s/8SqG6ok4I0AJFT
+q42Xj7tavRN5Gd/pQGoc7TsCbmM5KePOsWaoAdO/pIK5Z8pi8TuN+GKz5bBdj4MJ
+P7T2MtL9Pn+Lp0JhhVV4arRisJd5DMUNee3wZf3Zz7SneHd0GH026vgA6RxqUr5w
+TagXmGp/+cPY/0v0Fqv1Gq6c5ZCAy50Is2A6XOgHJq3BhXaWkEpvaAoVgP/pS+RJ
+hlO5Ffz9fwm0kcqzLLlhgfpsQQvIqefSt/d7KNDKIPfwVRVvPoMt8+SyroKvmqii
+lFVafzLJYIi5m9Hwbvp7vGeOGTF9bTrJZUybe2mhyyiblQ==
+=NDZf
-----END PGP SIGNATURE-----
diff --git a/openid-vci-api/src/test/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialConfigurationsTest.java b/openid-vci-api/src/test/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialConfigurationsTest.java
index 46224f6..359cfb7 100644
--- a/openid-vci-api/src/test/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialConfigurationsTest.java
+++ b/openid-vci-api/src/test/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialConfigurationsTest.java
@@ -116,7 +116,7 @@ public class CredentialConfigurationsTest {
+ "\"type\":[\"VerifiableCredential\",\"Diploma\"],"
+ "\"name\":\"Diploma\",\"description\":{\"en\":\"A diploma\"},"
+ "\"credentialSchema\":{\"id\":\"https://example.org/schema\",\"type\":\"JsonSchema\"},"
- + "\"termsOfUse\":{\"type\":\"IssuerPolicy\"},"
+ + "\"termsOfUse\":{\"type\":\"ExampleTermsOfUse\"},"
+ "\"relatedResource\":[{\"id\":\"https://example.org/schema\"}],"
+ "\"evidence\":[{\"type\":\"Evidence\"}]}}}}")
.getBytes(StandardCharsets.UTF_8));
diff --git a/openid-vci-api/src/test/resources/credentials/CredentialDefinitionWithMembers.json b/openid-vci-api/src/test/resources/credentials/CredentialDefinitionWithMembers.json
index 8457e28..323863c 100644
--- a/openid-vci-api/src/test/resources/credentials/CredentialDefinitionWithMembers.json
+++ b/openid-vci-api/src/test/resources/credentials/CredentialDefinitionWithMembers.json
@@ -17,7 +17,7 @@
}
],
"termsOfUse": {
- "type": "IssuerPolicy",
+ "type": "ExampleTermsOfUse",
"id": "https://example.com/policies/1"
},
"relatedResource": [
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list