diff options
Diffstat (limited to 'plugin/sign/dnssec.go')
-rw-r--r-- | plugin/sign/dnssec.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/plugin/sign/dnssec.go b/plugin/sign/dnssec.go new file mode 100644 index 000000000..a95e08644 --- /dev/null +++ b/plugin/sign/dnssec.go @@ -0,0 +1,20 @@ +package sign + +import ( + "github.com/miekg/dns" +) + +func (p Pair) signRRs(rrs []dns.RR, signerName string, ttl, incep, expir uint32) (*dns.RRSIG, error) { + rrsig := &dns.RRSIG{ + Hdr: dns.RR_Header{Rrtype: dns.TypeRRSIG, Ttl: ttl}, + Algorithm: p.Public.Algorithm, + SignerName: signerName, + KeyTag: p.KeyTag, + OrigTtl: ttl, + Inception: incep, + Expiration: expir, + } + + e := rrsig.Sign(p.Private, rrs) + return rrsig, e +} |