diff options
author | Linus Nordberg <linus@nordberg.se> | 2022-05-02 11:28:31 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2022-05-02 11:29:43 +0200 |
commit | 76f22618a56f9eaca173f3fc65823c226b29fa52 (patch) | |
tree | c06ef5e844bf989ebdaeed3b7b2aa111cebf5fee /pkg/dns/dns.go | |
parent | 7661965ed955bc3b8fcbc544a346020e15678c02 (diff) |
use dns package from sigsum-gov0.4.0
Issue: #26
Diffstat (limited to 'pkg/dns/dns.go')
-rw-r--r-- | pkg/dns/dns.go | 39 |
1 files changed, 0 insertions, 39 deletions
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) -} |