diff options
Diffstat (limited to 'plugin/dnssec/dnskey.go')
-rw-r--r-- | plugin/dnssec/dnskey.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plugin/dnssec/dnskey.go b/plugin/dnssec/dnskey.go index 1a2cf9343..5c67fca08 100644 --- a/plugin/dnssec/dnskey.go +++ b/plugin/dnssec/dnskey.go @@ -9,8 +9,9 @@ import ( "time" "github.com/coredns/coredns/request" - "github.com/miekg/dns" + + "golang.org/x/crypto/ed25519" ) // DNSKEY holds a DNSSEC public and private key used for on-the-fly signing. @@ -55,6 +56,9 @@ func ParseKeyFile(pubFile, privFile string) (*DNSKEY, error) { if s, ok := p.(*ecdsa.PrivateKey); ok { return &DNSKEY{K: dk, D: dk.ToDS(dns.SHA256), s: s, tag: dk.KeyTag()}, nil } + if s, ok := p.(ed25519.PrivateKey); ok { + return &DNSKEY{K: dk, D: dk.ToDS(dns.SHA256), s: s, tag: dk.KeyTag()}, nil + } return &DNSKEY{K: dk, D: dk.ToDS(dns.SHA256), s: nil, tag: 0}, errors.New("no private key found") } |