mirror of
https://github.com/coredns/coredns.git
synced 2025-11-19 18:32:16 -05:00
plugin/dnssec: Add support for KSK/ZSK split key setups (#2196)
* plugin/dnssec: Add support for KSK/ZSK split key setups * plugin/dnssec: Update README to document split ZSK/KSK operation
This commit is contained in:
committed by
Miek Gieben
parent
dbc2efc49a
commit
cf04223718
@@ -28,6 +28,7 @@ func ParseKeyFile(pubFile, privFile string) (*DNSKEY, error) {
|
||||
if e != nil {
|
||||
return nil, e
|
||||
}
|
||||
defer f.Close()
|
||||
k, e := dns.ReadRR(f, pubFile)
|
||||
if e != nil {
|
||||
return nil, e
|
||||
@@ -37,6 +38,7 @@ func ParseKeyFile(pubFile, privFile string) (*DNSKEY, error) {
|
||||
if e != nil {
|
||||
return nil, e
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
dk, ok := k.(*dns.DNSKEY)
|
||||
if !ok {
|
||||
@@ -76,3 +78,13 @@ func (d Dnssec) getDNSKEY(state request.Request, zone string, do bool, server st
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
// Return true iff this is a zone key with the SEP bit unset. This implies a ZSK (rfc4034 2.1.1).
|
||||
func (k DNSKEY) isZSK() bool {
|
||||
return k.K.Flags & (1<<8) == (1<<8) && k.K.Flags & 1 == 0
|
||||
}
|
||||
|
||||
// Return true iff this is a zone key with the SEP bit set. This implies a KSK (rfc4034 2.1.1).
|
||||
func (k DNSKEY) isKSK() bool {
|
||||
return k.K.Flags & (1<<8) == (1<<8) && k.K.Flags & 1 == 1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user