[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