DNSSEC algorithm and digest types now uint8

This commit is contained in:
Alex A Skinner 2014-10-22 20:41:03 -04:00
parent 467e368cc1
commit c417e9729d
2 changed files with 27 additions and 24 deletions

View File

@ -36,31 +36,34 @@ import (
// DNSSEC encryption algorithm codes. // DNSSEC encryption algorithm codes.
const ( const (
RSAMD5 = 1 _ uint8 = iota
DH = 2 RSAMD5
DSA = 3 DH
ECC = 4 DSA
RSASHA1 = 5 ECC
DSANSEC3SHA1 = 6 RSASHA1
RSASHA1NSEC3SHA1 = 7 DSANSEC3SHA1
RSASHA256 = 8 RSASHA1NSEC3SHA1
RSASHA512 = 10 RSASHA256
ECCGOST = 12 _ // Skip 9
ECDSAP256SHA256 = 13 RSASHA512
ECDSAP384SHA384 = 14 _ // Skip 11
INDIRECT = 252 ECCGOST
PRIVATEDNS = 253 // Private (experimental keys) ECDSAP256SHA256
PRIVATEOID = 254 ECDSAP384SHA384
INDIRECT uint8 = 252
PRIVATEDNS uint8 = 253 // Private (experimental keys)
PRIVATEOID uint8 = 254
) )
// DNSSEC hashing algorithm codes. // DNSSEC hashing algorithm codes.
const ( const (
_ = iota _ uint8 = iota
SHA1 // RFC 4034 SHA1 // RFC 4034
SHA256 // RFC 4509 SHA256 // RFC 4509
GOST94 // RFC 5933 GOST94 // RFC 5933
SHA384 // Experimental SHA384 // Experimental
SHA512 // Experimental SHA512 // Experimental
) )
// DNSKEY flag values. // DNSKEY flag values.
@ -136,7 +139,7 @@ func (k *DNSKEY) KeyTag() uint16 {
} }
// ToDS converts a DNSKEY record to a DS record. // ToDS converts a DNSKEY record to a DS record.
func (k *DNSKEY) ToDS(h int) *DS { func (k *DNSKEY) ToDS(h uint8) *DS {
if k == nil { if k == nil {
return nil return nil
} }
@ -146,7 +149,7 @@ func (k *DNSKEY) ToDS(h int) *DS {
ds.Hdr.Rrtype = TypeDS ds.Hdr.Rrtype = TypeDS
ds.Hdr.Ttl = k.Hdr.Ttl ds.Hdr.Ttl = k.Hdr.Ttl
ds.Algorithm = k.Algorithm ds.Algorithm = k.Algorithm
ds.DigestType = uint8(h) ds.DigestType = h
ds.KeyTag = k.KeyTag() ds.KeyTag = k.KeyTag()
keywire := new(dnskeyWireFmt) keywire := new(dnskeyWireFmt)

View File

@ -49,7 +49,7 @@ func ExampleDS(zone string) {
} }
for _, k := range r.Answer { for _, k := range r.Answer {
if key, ok := k.(*dns.DNSKEY); ok { if key, ok := k.(*dns.DNSKEY); ok {
for _, alg := range []int{dns.SHA1, dns.SHA256, dns.SHA384} { for _, alg := range []uint8{dns.SHA1, dns.SHA256, dns.SHA384} {
fmt.Printf("%s; %d\n", key.ToDS(alg).String(), key.Flags) fmt.Printf("%s; %d\n", key.ToDS(alg).String(), key.Flags)
} }
} }