diff --git a/pom.xml b/pom.xml
index 7819e0144bd1230b57904e0c34f1d4cf4a909d29..d9d6355f1f9cc2fd9381dd6e151f541cf7504115 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>3.2.2</version>
+        <version>3.2.3</version>
         <relativePath/>
     </parent>
     
@@ -53,14 +53,14 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <!-- dependencies -->
-        <spring-boot.version>3.2.2</spring-boot.version>
+        <spring-boot.version>3.2.3</spring-boot.version>
         <springdoc.version>2.2.0</springdoc.version>
         <lombok.version>1.18.30</lombok.version>
-        <vc.version>1.7.0</vc.version>
-        <key-format.version>1.12.0</key-format.version>
+        <vc.version>1.9.0</vc.version>
+        <key-format.version>1.15.0</key-format.version>
         <did.version>1.11.0</did.version>
-        <ld-signatures.version>1.6.0</ld-signatures.version>
-        <uni-resolver.version>0.16.0</uni-resolver.version>
+        <ld-signatures.version>1.9.0</ld-signatures.version>
+        <uni-resolver.version>0.17.0</uni-resolver.version>
         <titanium.version>1.3.2</titanium.version>
         <caffeine.version>3.1.8</caffeine.version>
         <jose4j.version>0.9.3</jose4j.version>
diff --git a/service/src/test/java/eu/xfsc/train/tcr/server/controller/ResolutionControllerTest.java b/service/src/test/java/eu/xfsc/train/tcr/server/controller/ResolutionControllerTest.java
index dc71ef3764c3bc1a4db84612ea9c071fe0178c67..6050a2af226c6685c272d9ce58e31f90395ef060 100644
--- a/service/src/test/java/eu/xfsc/train/tcr/server/controller/ResolutionControllerTest.java
+++ b/service/src/test/java/eu/xfsc/train/tcr/server/controller/ResolutionControllerTest.java
@@ -63,7 +63,7 @@ public class ResolutionControllerTest {
 			"serviceEndpoint":"https://ec.europa.eu/tools/lotl/eu-lotl.xml"}],"authentication":["did:web:essif.iao.fraunhofer.de#owner"],"assertionMethod":["did:web:essif.iao.fraunhofer.de#owner"]}""";
 	
     @Test
-    public void postResolveRequestShouldReturnEmptyVCResponse() throws Exception {
+    public void postResolveRequestShouldReturnErrorVCResponse() throws Exception {
 
     	String did1 = "did:web:essif.trust-scheme.de";
     	ResolveRepresentationResult rrr = ResolveRepresentationResult.build(null, testDoc.getBytes(), null);
@@ -94,7 +94,11 @@ public class ResolutionControllerTest {
         assertNotNull(result.getResolvedResults());
         assertEquals(1, result.getResolvedResults().size());
         assertEquals(did1, result.getResolvedResults().get(0).getDid());
+        assertNotNull(result.getResolvedResults().get(0).getResolvedDoc());
+        assertNotNull(result.getResolvedResults().get(0).getResolvedDoc().getDocument());
         assertNull(result.getResolvedResults().get(0).getResolvedDoc().getEndpoints());
+        assertNotNull(result.getResolvedResults().get(0).getError());
+        assertEquals("did_error", result.getResolvedResults().get(0).getError().getCode());
     }
 
     @Test
@@ -152,7 +156,8 @@ public class ResolutionControllerTest {
         assertEquals(did, result.getResolvedResults().get(0).getDid());
         assertNotNull(result.getResolvedResults().get(0).getResolvedDoc());
         assertNotNull(result.getResolvedResults().get(0).getResolvedDoc().getDocument());
-        //assertNull(result.getResolvedResults().get(0).getResolvedDoc().getEndpoints());
+        assertNull(result.getResolvedResults().get(0).getResolvedDoc().getEndpoints());
+        assertNull(result.getResolvedResults().get(0).getError());
     }
 
     @Test
diff --git a/service/src/test/java/eu/xfsc/train/tcr/server/service/TLResolverTest.java b/service/src/test/java/eu/xfsc/train/tcr/server/service/TLResolverTest.java
index 5f01687b11c532b6f4b89e76399abd3e768522d5..d267f9fead8f249e3b6a6fb06ceb1f09ac4ae443 100644
--- a/service/src/test/java/eu/xfsc/train/tcr/server/service/TLResolverTest.java
+++ b/service/src/test/java/eu/xfsc/train/tcr/server/service/TLResolverTest.java
@@ -69,7 +69,7 @@ public class TLResolverTest {
 		TrustServiceStatusList list = tlResolver.resolveTL(file.getCanonicalFile().toURI().toString());
 		checkTrustList(list, "bobs-burgers", "did:web:bobs-burgers.de");
 		
-		list = tlResolver.resolveTL("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list");
+		//list = tlResolver.resolveTL("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list");
 		//assertNotNull(list);
 		//checkTrustList(list, "bobs-burgers", "did:web:bobs-burgers.de");
 	}
diff --git a/service/src/test/java/eu/xfsc/train/tcr/server/service/VCResolveTest.java b/service/src/test/java/eu/xfsc/train/tcr/server/service/VCResolveTest.java
index 50c3150fbbdaad1bb2ec7aa24c7f2d373be6f692..50ee4bb4656af21485c9ec307d8b9bfa6ff666b7 100644
--- a/service/src/test/java/eu/xfsc/train/tcr/server/service/VCResolveTest.java
+++ b/service/src/test/java/eu/xfsc/train/tcr/server/service/VCResolveTest.java
@@ -1,7 +1,9 @@
 package eu.xfsc.train.tcr.server.service;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
@@ -43,6 +45,8 @@ public class VCResolveTest {
 	private static final String didWebEssif = "did:web:essif.iao.fraunhofer.de";
 	
 	private static final String didJwkRsa = "did:jwk:eyJlIjoiQVFBQiIsImtpZCI6InNpZ25SU0EyMDQ4Iiwia3R5IjoiUlNBIiwibiI6IjhDUl8ySUJuSGlDcjVIY0kxcWh1dXpiRmdMRjFlSVI3dGM1NTF2WlN2ek1rTEtIVEpxeHVZR1BlVXp2U29ndWctTDJRQ2tpVWdmSjFZUzRFUmhrRFM2cVBJbFdMM1BGbkc4VjZQVWxoODZjTjgxWkhZdkhoUFYwUDdKT25UeGVKcTV1a1dFT0ctMUxrTmk5eGVnelRoMEVwV0w4NU5aUmJOYWJ0R0VqTUhqY04yak9NUldSYkE4OVdENVhOTExwdWUyNVlxbHcxOGZsbXNNRmh5dXk2YlVmanR2aXJ5SThwb0RLOVpXcGtPUjN6ejlNN0hpQXVyZ2NLSks5ODlEX0UzZ3d3S1FhQ21CbEJ4X3hESlJoVFB1bnJZUFBySHlpMExmaG5CeWgzcEJRMWhyelFLblZyX18zYkVwcE5abmRFLVhlWTY0VzNNaGUwa1RrREp2VXJndyJ9";
+
+	private static final String didSampleW3C = "https://example.com/issuer/123";
 	
 	private static final String docWeb2VM = """
 			{"@context": ["https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1"], "id": "did:web:essif.iao.fraunhofer.de", "verificationMethod": [{"id": "did:web:essif.iao.fraunhofer.de#owner",	"type": "JsonWebKey2020",
@@ -101,6 +105,60 @@ public class VCResolveTest {
 		  }
 		}""";
 	
+	private static final String docW3CSampleDid = """
+		{
+		    "@context": [
+			  "https://www.w3.org/ns/did/v1",
+			  "https://w3id.org/security/suites/jws-2020/v1",
+			  {
+			    "@base": "https://example.com/issuer/123"
+			  }
+			],
+			"id": "https://example.com/issuer/123",
+			"verificationMethod": [
+			  {
+			    "id": "#ovsDKYBjFemIy8DVhc-w2LSi8CvXMw2AYDzHj04yxkc",
+			    "type": "JsonWebKey2020",
+			    "controller": "https://example.com/issuer/123",
+			    "publicKeyJwk": {
+			      "kty": "OKP",
+			      "crv": "Ed25519",
+			      "x": "CV-aGlld3nVdgnhoZK0D36Wk-9aIMlZjZOK2XhPMnkQ"
+			    }
+			  }
+			],
+			"assertionMethod": ["#ovsDKYBjFemIy8DVhc-w2LSi8CvXMw2AYDzHj04yxkc"]
+		}""";
+	
+	private static final String docW3CSampleVC = """
+		{
+	    "@context": [
+	      "https://www.w3.org/2018/credentials/v1",
+	      "https://www.w3.org/2018/credentials/examples/v1",
+	      "https://w3id.org/security/suites/jws-2020/v1"
+	    ],
+	    "id": "http://example.gov/credentials/3732",
+	    "type": ["VerifiableCredential", "UniversityDegreeCredential"],
+	    "issuer": {
+	      "id": "https://example.com/issuer/123"
+	    },
+	    "issuanceDate": "2020-03-10T04:24:12.164Z",
+	    "credentialSubject": {
+	      "id": "did:example:456",
+	      "degree": {
+	        "type": "BachelorDegree",
+	        "name": "Bachelor of Science and Arts"
+	      }
+	    },
+	    "proof": {
+	      "type": "JsonWebSignature2020",
+	      "created": "2019-12-11T03:50:55Z",
+	      "jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..MJ5GwWRMsadCyLNXU_flgJtsS32584MydBxBuygps_cM0sbU3abTEOMyUvmLNcKOwOBE1MfDoB1_YY425W3sAg",
+	      "proofPurpose": "assertionMethod",
+	      "verificationMethod": "https://example.com/issuer/123#ovsDKYBjFemIy8DVhc-w2LSi8CvXMw2AYDzHj04yxkc"
+	    }
+	  }"""; 
+	
 	@Test
     public void testVCResolutionSigner() throws Exception {
     	ResolveRepresentationResult rrr = ResolveRepresentationResult.build(null, docJwkRsa.getBytes(), null); 
@@ -110,9 +168,9 @@ public class VCResolveTest {
         docLoaderCache.put(uri, doc);
         assertNotNull(docLoaderCache.asMap().get(uri));
 
-    	VCResolveResult vcRes = didResolver.resolveVC("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/vc", didJwkRsa);
+    	VCResolveResult vcRes = didResolver.resolveVC(uri.toString(), didJwkRsa);
         assertEquals("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list", vcRes.getTrustListUri());
-        //assertTrue(vcRes.isVerified());
+        assertFalse(vcRes.isVerified()); // because of the wrong signature from Signer
     }
 	
 	
@@ -125,12 +183,11 @@ public class VCResolveTest {
         docLoaderCache.put(uri, doc);
         assertNotNull(docLoaderCache.asMap().get(uri));
 
-    	VCResolveResult vcRes = didResolver.resolveVC("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/alice.trust.train1.xfsc.dev/vc", didJwkRsa);
+    	VCResolveResult vcRes = didResolver.resolveVC(uri.toString(), didJwkRsa);
         assertEquals("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list", vcRes.getTrustListUri());
         assertTrue(vcRes.isVerified());
     }
 	
-	
 	@Test
     public void testVCResolutionFHWeb() throws Exception {
     	ResolveRepresentationResult rrr = ResolveRepresentationResult.build(null, docWeb2VM.getBytes(), null); 
@@ -140,9 +197,23 @@ public class VCResolveTest {
         docLoaderCache.put(uri, doc);
         assertNotNull(docLoaderCache.asMap().get(uri));
 
-    	VCResolveResult vcRes = didResolver.resolveVC("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/vc", didWebEssif);
+    	VCResolveResult vcRes = didResolver.resolveVC(uri.toString(), didWebEssif);
         assertEquals("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list", vcRes.getTrustListUri());
-        //assertTrue(vcRes.isVerified());
+        assertFalse(vcRes.isVerified()); // because of the wrong signature from Signer
     }
 
+	@Test
+    public void testVCResolutionW3C() throws Exception {
+    	ResolveRepresentationResult rrr = ResolveRepresentationResult.build(null, docW3CSampleDid.getBytes(), null); 
+        when(uniResolver.resolveRepresentation(eq(didSampleW3C), any())).thenReturn(rrr);
+        URI uri = new URI(didSampleW3C + "/vc");
+        Document doc = JsonDocument.of(new StringReader(docW3CSampleVC));
+        docLoaderCache.put(uri, doc);
+        assertNotNull(docLoaderCache.asMap().get(uri));
+
+    	VCResolveResult vcRes = didResolver.resolveVC(uri.toString(), didSampleW3C); 
+        assertNull(vcRes.getTrustListUri());
+        assertTrue(vcRes.isVerified());
+    }
+	
 }