diff options
Diffstat (limited to 'cmd/tmp/dns')
-rw-r--r-- | cmd/tmp/dns/main.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/cmd/tmp/dns/main.go b/cmd/tmp/dns/main.go new file mode 100644 index 0000000..b493f15 --- /dev/null +++ b/cmd/tmp/dns/main.go @@ -0,0 +1,42 @@ +package main + +import ( + "context" + "encoding/hex" + "flag" + "fmt" + "log" + + "git.sigsum.org/sigsum-log-go/pkg/dns" + "git.sigsum.org/sigsum-log-go/pkg/types" +) + +var ( + vk = flag.String("vk", "5aed7ffc3bc088221f6579567b2e6e3c4ac3579bd5e77670755179052c68d5d3", "verification key (hex)") + domain_hint = flag.String("domain_hint", "example.com", "domain name that is aware of public key hash in hex") +) + +func main() { + flag.Parse() + + var key [types.VerificationKeySize]byte + mustDecodeHex(*vk, key[:]) + + vf := dns.NewDefaultResolver() + if err := vf.Verify(context.Background(), *domain_hint, &key); err != nil { + log.Fatal(err) + } + + fmt.Println("Success!") +} + +func mustDecodeHex(s string, buf []byte) { + b, err := hex.DecodeString(s) + if err != nil { + log.Fatal(err) + } + if len(b) != len(buf) { + log.Fatal("bad flag: invalid buffer length") + } + copy(buf, b) +} |