DNSSEC algorithm and digest types now uint8
This commit is contained in:
parent
467e368cc1
commit
c417e9729d
49
dnssec.go
49
dnssec.go
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue