From 76f22618a56f9eaca173f3fc65823c226b29fa52 Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Mon, 2 May 2022 11:28:31 +0200 Subject: use dns package from sigsum-go Issue: #26 --- pkg/dns/dns.go | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 pkg/dns/dns.go (limited to 'pkg/dns/dns.go') diff --git a/pkg/dns/dns.go b/pkg/dns/dns.go deleted file mode 100644 index 5baccc3..0000000 --- a/pkg/dns/dns.go +++ /dev/null @@ -1,39 +0,0 @@ -package dns - -import ( - "context" - "fmt" - "net" - - "git.sigsum.org/sigsum-go/pkg/hex" - "git.sigsum.org/sigsum-go/pkg/types" -) - -// Verifier can verify that a domain name is aware of a public key -type Verifier interface { - Verify(ctx context.Context, name string, key *types.PublicKey) error -} - -// DefaultResolver implements the Verifier interface with Go's default resolver -type DefaultResolver struct { - resolver net.Resolver -} - -func NewDefaultResolver() Verifier { - return &DefaultResolver{} -} - -func (dr *DefaultResolver) Verify(ctx context.Context, name string, key *types.PublicKey) error { - rsp, err := dr.resolver.LookupTXT(ctx, name) - if err != nil { - return fmt.Errorf("domain name look-up failed: %v", err) - } - - want := hex.Serialize(types.HashFn(key[:])[:]) - for _, got := range rsp { - if got == want { - return nil - } - } - return fmt.Errorf("%q is not aware of key hash %q", name, want) -} -- cgit v1.2.3