From b019a55ead29843e2d4c003cf72f9682502d8366 Mon Sep 17 00:00:00 2001
From: Lyuben Penkovski <lyuben.penkovski@vereign.com>
Date: Thu, 30 Jun 2022 07:29:17 +0300
Subject: [PATCH] Use hyperledger DID:WEB key resolver for verifying VP proofs

---
 internal/credential/issuer.go | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/internal/credential/issuer.go b/internal/credential/issuer.go
index 7f81064..84d96bd 100644
--- a/internal/credential/issuer.go
+++ b/internal/credential/issuer.go
@@ -8,9 +8,9 @@ import (
 	"github.com/hyperledger/aries-framework-go/pkg/doc/signature/suite/jsonwebsignature2020"
 	"github.com/hyperledger/aries-framework-go/pkg/doc/util"
 	"github.com/hyperledger/aries-framework-go/pkg/doc/verifiable"
+	"github.com/hyperledger/aries-framework-go/pkg/vdr"
+	"github.com/hyperledger/aries-framework-go/pkg/vdr/web"
 	"github.com/piprate/json-gold/ld"
-
-	"code.vereign.com/gaiax/tsa/infohub/internal/credential/keyfetcher"
 )
 
 var defaultContexts = []string{
@@ -68,11 +68,13 @@ func (i *Issuer) NewPresentation(contexts []string, vc ...*verifiable.Credential
 }
 
 func (i *Issuer) ParsePresentation(vpBytes []byte) (*verifiable.Presentation, error) {
-	fetcher := keyfetcher.NewWebKeyFetcher(i.httpClient)
+	webvdr := web.New()
+	registry := vdr.New(vdr.WithVDR(webvdr))
+	fetcher := verifiable.NewVDRKeyResolver(registry)
 
 	return verifiable.ParsePresentation(
 		vpBytes,
-		verifiable.WithPresPublicKeyFetcher(fetcher),
+		verifiable.WithPresPublicKeyFetcher(fetcher.PublicKeyFetcher()),
 		verifiable.WithPresEmbeddedSignatureSuites(
 			jsonwebsignature2020.New(suite.WithVerifier(jsonwebsignature2020.NewPublicKeyVerifier())),
 		),
-- 
GitLab