From 3efbfaff7a419c5c384ccadb47b34f35bdc0a31b Mon Sep 17 00:00:00 2001 From: Nitin Vavdiya Date: Mon, 26 Feb 2024 13:04:58 +0530 Subject: [PATCH 1/7] fix: missing credential status in builder --- .../credential/VerifiableCredentialBuilder.java | 4 ++++ .../ssi/lib/proof/LinkedDataTransformerTest.java | 5 +++++ .../tractusx/ssi/lib/util/TestResourceUtil.java | 16 ++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java index 5577df93..1506f0fa 100644 --- a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java +++ b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import lombok.NoArgsConstructor; import org.eclipse.tractusx.ssi.lib.model.proof.Proof; @@ -178,6 +179,9 @@ public VerifiableCredential build() { if (expirationDate != null) { map.put(VerifiableCredential.EXPIRATION_DATE, formatter.format(expirationDate)); } + if (!Objects.isNull(credentialStatus)) { + map.put(VerifiableCredential.CREDENTIAL_STATUS, credentialStatus); + } if (proof != null) { map.put(VerifiableCredential.PROOF, proof); } diff --git a/src/test/java/org/eclipse/tractusx/ssi/lib/proof/LinkedDataTransformerTest.java b/src/test/java/org/eclipse/tractusx/ssi/lib/proof/LinkedDataTransformerTest.java index 234944df..37ff84bf 100644 --- a/src/test/java/org/eclipse/tractusx/ssi/lib/proof/LinkedDataTransformerTest.java +++ b/src/test/java/org/eclipse/tractusx/ssi/lib/proof/LinkedDataTransformerTest.java @@ -32,6 +32,7 @@ import org.eclipse.tractusx.ssi.lib.model.verifiable.credential.VerifiableCredentialSubject; import org.eclipse.tractusx.ssi.lib.model.verifiable.credential.VerifiableCredentialType; import org.eclipse.tractusx.ssi.lib.proof.transform.LinkedDataTransformer; +import org.eclipse.tractusx.ssi.lib.util.TestResourceUtil; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -56,9 +57,13 @@ public void testLinkedDataTransformer() { .issuer(URI.create("did:test:isser")) .expirationDate(Instant.now().plusSeconds(3600)) .issuanceDate(Instant.now()) + .verifiableCredentialStatus(TestResourceUtil.getStatusListEntry()) .credentialSubject(verifiableCredentialSubject) .build(); + // check status added in VC + Assertions.assertNotNull(credentialWithoutProof.getVerifiableCredentialStatus()); + var transformedWithoutProof = linkedDataTransformer.transform(credentialWithoutProof); final VerifiableCredential verifiableCredentialWithProof = diff --git a/src/test/java/org/eclipse/tractusx/ssi/lib/util/TestResourceUtil.java b/src/test/java/org/eclipse/tractusx/ssi/lib/util/TestResourceUtil.java index 1f20a476..46ba852c 100644 --- a/src/test/java/org/eclipse/tractusx/ssi/lib/util/TestResourceUtil.java +++ b/src/test/java/org/eclipse/tractusx/ssi/lib/util/TestResourceUtil.java @@ -34,7 +34,9 @@ import org.bouncycastle.util.io.pem.PemReader; import org.eclipse.tractusx.ssi.lib.model.did.Ed25519VerificationMethod; import org.eclipse.tractusx.ssi.lib.model.verifiable.credential.VerifiableCredential; +import org.eclipse.tractusx.ssi.lib.model.verifiable.credential.VerifiableCredentialStatusList2021Entry; import org.eclipse.tractusx.ssi.lib.model.verifiable.presentation.VerifiablePresentation; +import org.testcontainers.shaded.org.apache.commons.lang3.RandomUtils; /** The type Test resource util. */ public class TestResourceUtil { @@ -201,4 +203,18 @@ private static InputStream readResource(String resource) { return Objects.requireNonNull(inputStream, "Resource not found: " + resource); } + + /** + * @return verifiableCredentialStatusList2021Entry + */ + public static VerifiableCredentialStatusList2021Entry getStatusListEntry() { + int index = RandomUtils.nextInt(); + return new VerifiableCredentialStatusList2021Entry( + Map.of( + "id", "https://example.com/credentials/status/3#" + index, + "type", "BitstringStatusListEntry", + "statusPurpose", "revocation", + "statusListIndex", String.valueOf(index), + "statusListCredential", "https://example.com/credentials/status/3")); + } } From e17a7b687804dc74c26f28b32cd7624b1c3bd17f Mon Sep 17 00:00:00 2001 From: Nitin Vavdiya Date: Thu, 7 Mar 2024 14:35:38 +0530 Subject: [PATCH 2/7] chore: code changes as per review --- .../verifiable/credential/VerifiableCredentialBuilder.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java index 1506f0fa..2e8f8942 100644 --- a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java +++ b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java @@ -28,7 +28,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import lombok.NoArgsConstructor; import org.eclipse.tractusx.ssi.lib.model.proof.Proof; @@ -179,7 +178,7 @@ public VerifiableCredential build() { if (expirationDate != null) { map.put(VerifiableCredential.EXPIRATION_DATE, formatter.format(expirationDate)); } - if (!Objects.isNull(credentialStatus)) { + if (credentialStatus != null) { map.put(VerifiableCredential.CREDENTIAL_STATUS, credentialStatus); } if (proof != null) { From 404c76538d97db00535ef6697ecf77b18fd2b40e Mon Sep 17 00:00:00 2001 From: Nitin Vavdiya Date: Thu, 21 Mar 2024 14:37:28 +0530 Subject: [PATCH 3/7] conflict after rebase --- DEPENDENCIES | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 64f13c27..80b52a6f 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -19,7 +19,7 @@ maven/mavencentral/commons-digester/commons-digester/2.1, Apache-2.0, approved, maven/mavencentral/commons-logging/commons-logging/1.2, Apache-2.0, approved, CQ10162 maven/mavencentral/commons-validator/commons-validator/1.7, Apache-2.0, approved, clearlydefined maven/mavencentral/io.setl/rdf-urdna/1.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/jakarta.json/jakarta.json-api/2.1.3, EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, #7907 +maven/mavencentral/jakarta.json/jakarta.json-api/2.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp maven/mavencentral/net.i2p.crypto/eddsa/0.3.0, CC0-1.0, approved, CQ22537 maven/mavencentral/org.apache.commons/commons-lang3/3.14.0, Apache-2.0, approved, #11677 maven/mavencentral/org.bouncycastle/bcprov-jdk18on/1.77, MIT AND CC0-1.0, approved, #11595 From 8cc49e84f168acc5c520fc0a3eab6fc975a961cb Mon Sep 17 00:00:00 2001 From: Nitin Vavdiya Date: Thu, 21 Mar 2024 14:38:13 +0530 Subject: [PATCH 4/7] conflict after rebase --- .../model/verifiable/credential/VerifiableCredentialBuilder.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java index 2e8f8942..64f1ed0a 100644 --- a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java +++ b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import lombok.NoArgsConstructor; import org.eclipse.tractusx.ssi.lib.model.proof.Proof; From 536d7193fb7aee38aed23374828b223024554841 Mon Sep 17 00:00:00 2001 From: Nitin Vavdiya Date: Thu, 7 Mar 2024 14:35:38 +0530 Subject: [PATCH 5/7] chore: code changes as per review --- .../model/verifiable/credential/VerifiableCredentialBuilder.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java index 64f1ed0a..2e8f8942 100644 --- a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java +++ b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java @@ -28,7 +28,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import lombok.NoArgsConstructor; import org.eclipse.tractusx.ssi.lib.model.proof.Proof; From bf83739b0de75cc4c4ae6399aca5a9e9461162fa Mon Sep 17 00:00:00 2001 From: Nitin Vavdiya Date: Mon, 26 Feb 2024 13:04:58 +0530 Subject: [PATCH 6/7] fix: missing credential status in builder --- .../model/verifiable/credential/VerifiableCredentialBuilder.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java index 2e8f8942..64f1ed0a 100644 --- a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java +++ b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import lombok.NoArgsConstructor; import org.eclipse.tractusx.ssi.lib.model.proof.Proof; From 4ae905df0b0272ecab1a376a8509d0f58251e6c1 Mon Sep 17 00:00:00 2001 From: Nitin Vavdiya Date: Thu, 7 Mar 2024 14:35:38 +0530 Subject: [PATCH 7/7] chore: code changes as per review --- .../model/verifiable/credential/VerifiableCredentialBuilder.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java index 64f1ed0a..2e8f8942 100644 --- a/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java +++ b/src/main/java/org/eclipse/tractusx/ssi/lib/model/verifiable/credential/VerifiableCredentialBuilder.java @@ -28,7 +28,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import lombok.NoArgsConstructor; import org.eclipse.tractusx.ssi.lib.model.proof.Proof;