@@ -175,15 +175,30 @@ public static JwtVerifiableCredentialV2 toJwtVerifiableCredentialV2(VerifiableCr
175175 }
176176
177177 CredentialSubject credentialSubject = verifiableCredential .getCredentialSubject ();
178+ var credentialSubjectList = verifiableCredential .getCredentialSubjectAsList ();
178179 if (credentialSubject != null && credentialSubject .getId () != null ) {
179180 jwtPayloadBuilder .subject (credentialSubject .getId ().toString ());
180- if (!preserveVerifiableCredentialProperties ) {
181- CredentialSubject payloadCredentialSubject = CredentialSubject .builder ()
182- .base (credentialSubject )
183- .build ();
184- JsonLDUtils .jsonLdRemove (payloadCredentialSubject , JsonLDKeywords .JSONLD_TERM_ID );
185- CredentialSubject .removeFromJsonLdObject (payloadVerifiableCredential );
186- payloadCredentialSubject .addToJsonLDObject (payloadVerifiableCredential );
181+ if (credentialSubjectList .size ()>1 ){
182+ if (!preserveVerifiableCredentialProperties ) {
183+ CredentialSubject .removeFromJsonLdObject (payloadVerifiableCredential );
184+ for (CredentialSubject subject : credentialSubjectList ){
185+ CredentialSubject payloadCredentialSubject = CredentialSubject .builder ()
186+ .base (subject )
187+ .build ();
188+ JsonLDUtils .jsonLdRemove (payloadCredentialSubject , JsonLDKeywords .JSONLD_TERM_ID );
189+
190+ payloadCredentialSubject .addToJsonLDObjectAsJsonArray (payloadVerifiableCredential );
191+ }
192+ }
193+ }else {
194+ if (!preserveVerifiableCredentialProperties ) {
195+ CredentialSubject payloadCredentialSubject = CredentialSubject .builder ()
196+ .base (credentialSubject )
197+ .build ();
198+ JsonLDUtils .jsonLdRemove (payloadCredentialSubject , JsonLDKeywords .JSONLD_TERM_ID );
199+ CredentialSubject .removeFromJsonLdObject (payloadVerifiableCredential );
200+ payloadCredentialSubject .addToJsonLDObject (payloadVerifiableCredential );
201+ }
187202 }
188203 }
189204
@@ -239,7 +254,7 @@ public static JwtVerifiableCredentialV2 toJwtVerifiableCredentialV2(VerifiableCr
239254 return toJwtVerifiableCredentialV2 (verifiableCredential , null , false , false );
240255 }
241256
242- public static JwtVerifiablePresentationV2 toJwtVerifiablePresentation (VerifiablePresentationV2 verifiablePresentation , String aud ) {
257+ public static JwtVerifiablePresentationV2 toJwtVerifiablePresentationV2 (VerifiablePresentationV2 verifiablePresentation , String aud ) {
243258
244259 JWTClaimsSet .Builder jwtPayloadBuilder = new JWTClaimsSet .Builder ();
245260
@@ -275,8 +290,8 @@ public static JwtVerifiablePresentationV2 toJwtVerifiablePresentation(Verifiable
275290 return new JwtVerifiablePresentationV2 (jwtPayload , payloadVerifiablePresentation , null , null );
276291 }
277292
278- public static JwtVerifiablePresentationV2 toJwtVerifiablePresentation (VerifiablePresentationV2 verifiablePresentation ) {
293+ public static JwtVerifiablePresentationV2 toJwtVerifiablePresentationV2 (VerifiablePresentationV2 verifiablePresentation ) {
279294
280- return toJwtVerifiablePresentation (verifiablePresentation , null );
295+ return toJwtVerifiablePresentationV2 (verifiablePresentation , null );
281296 }
282297}
0 commit comments