mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 08:14:18 -04:00
plugin/dnssec, plugin/sign: ed25519 support (#3380)
* add ed25519 dnskey support Signed-off-by: Sean Liao <seankhliao@gmail.com> * fix ed25519 type assertion Signed-off-by: Sean Liao <seankhliao@gmail.com> * clean up whitespace Signed-off-by: Sean Liao <seankhliao@gmail.com>
This commit is contained in:
@@ -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")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user