Skip to content

Commit 28982c7

Browse files
committed
fix: Small improvement to returning "issuer" from VC 2.0
1 parent e567e01 commit 28982c7

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/main/java/com/danubetech/verifiablecredentials/VerifiableCredentialV2.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,12 +245,17 @@ public static void removeFromJsonLdObject(JsonLDObject jsonLdObject) {
245245
*/
246246

247247
public Object getIssuer() {
248-
return JsonLDUtils.jsonLdGetJsonValue(this.getJsonObject(), VerifiableCredentialKeywords.JSONLD_TERM_ISSUER);
248+
Object issuer = JsonLDUtils.jsonLdGetJsonValue(this.getJsonObject(), VerifiableCredentialKeywords.JSONLD_TERM_ISSUER);
249+
if (issuer instanceof String issuerString) return JsonLDUtils.stringToUri(issuerString);
250+
if (issuer instanceof Map<?, ?> issuerMap) return issuerMap;
251+
return null;
249252
}
250253

251254
public URI getIssuerUri() {
252255
Object issuer = JsonLDUtils.jsonLdGetJsonValue(this.getJsonObject(), VerifiableCredentialKeywords.JSONLD_TERM_ISSUER);
253-
return (issuer instanceof String) ? URI.create(issuer.toString()) : URI.create((((Map<String,Object>)issuer).get(VerifiableCredentialKeywords.JSONLD_TERM_ISSUER)).toString());
256+
if (issuer instanceof String issuerString) return JsonLDUtils.stringToUri(issuerString);
257+
if (issuer instanceof Map<?, ?> issuerMap) return JsonLDUtils.stringToUri((String) issuerMap.get(VerifiableCredentialKeywords.JSONLD_TERM_ISSUER));
258+
return null;
254259
}
255260

256261
public Date getValidFrom() {

src/main/java/com/danubetech/verifiablecredentials/validation/Validation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public static void validate(VerifiablePresentationV2 verifiablePresentation, boo
112112
private static void validateIssuer(VerifiableCredentialV2 verifiableCredential) throws IllegalStateException {
113113

114114
validateRun(() -> validateTrue(verifiableCredential.getIssuer() != null), "Bad or missing 'issuer'.");
115-
if (verifiableCredential.getIssuer() instanceof String issuerString) validateRun(() -> validateUrl(URI.create(issuerString)), "'issuer' must be a valid URI.");
115+
if (verifiableCredential.getIssuer() instanceof URI issuerUri) validateRun(() -> validateUrl(issuerUri), "'issuer' must be a valid URI.");
116116
else if (verifiableCredential.getIssuer() instanceof Map<?,?> issuerMap) validateRun(()-> validateUrl(URI.create(((Map<String,Object>) issuerMap).get("id").toString())), "'issuer' must contain be a valid 'id'.");
117117
else validateRun(() -> validateTrue(false),"'issuer' must be a valid URI or object containing an 'id' property.");
118118
}

0 commit comments

Comments
 (0)