Set the algorithm too in the test
This commit is contained in:
parent
3df903d6e6
commit
68e0e0b1be
30
dnssec.go
30
dnssec.go
|
@ -57,7 +57,7 @@ type dnskeyWireFmt struct {
|
||||||
Protocol uint8
|
Protocol uint8
|
||||||
Algorithm uint8
|
Algorithm uint8
|
||||||
PubKey string "base64"
|
PubKey string "base64"
|
||||||
/* Nothing is left out */
|
/* Nothing is left out */
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate the keytag of the DNSKEY.
|
// Calculate the keytag of the DNSKEY.
|
||||||
|
@ -139,7 +139,7 @@ func (k *RR_DNSKEY) ToDS(h int) *RR_DS {
|
||||||
io.WriteString(s, string(digest))
|
io.WriteString(s, string(digest))
|
||||||
ds.Digest = hex.EncodeToString(s.Sum())
|
ds.Digest = hex.EncodeToString(s.Sum())
|
||||||
case HashGOST94:
|
case HashGOST94:
|
||||||
/* I have no clue */
|
/* I have no clue */
|
||||||
default:
|
default:
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -155,17 +155,17 @@ func (s *RR_RRSIG) Sign(k PrivateKey, rrset RRset) bool {
|
||||||
if k == nil {
|
if k == nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
// s.Inception and s.Expiration may be 0 (rollover etc.)
|
// s.Inception and s.Expiration may be 0 (rollover etc.)
|
||||||
if s.KeyTag == 0 || len(s.SignerName) == 0 || s.Algorithm == 0 {
|
if s.KeyTag == 0 || len(s.SignerName) == 0 || s.Algorithm == 0 {
|
||||||
// Must be set
|
// Must be set
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
s.Hdr.Rrtype = TypeRRSIG
|
s.Hdr.Rrtype = TypeRRSIG
|
||||||
s.Hdr.Name = rrset[0].Header().Name
|
s.Hdr.Name = rrset[0].Header().Name
|
||||||
s.Hdr.Class = rrset[0].Header().Class
|
s.Hdr.Class = rrset[0].Header().Class
|
||||||
s.Hdr.Ttl = rrset[0].Header().Ttl
|
s.OrigTtl = rrset[0].Header().Ttl
|
||||||
s.TypeCovered = rrset[0].Header().Rrtype
|
s.TypeCovered = rrset[0].Header().Rrtype
|
||||||
s.Labels = LabelCount(rrset[0].Header().Name)
|
s.Labels = LabelCount(rrset[0].Header().Name)
|
||||||
s.TypeCovered = rrset[0].Header().Rrtype
|
s.TypeCovered = rrset[0].Header().Rrtype
|
||||||
|
|
||||||
|
@ -244,9 +244,9 @@ func (s *RR_RRSIG) Sign(k PrivateKey, rrset RRset) bool {
|
||||||
case AlgRSASHA512:
|
case AlgRSASHA512:
|
||||||
h = sha512.New()
|
h = sha512.New()
|
||||||
ch = rsa.HashSHA512
|
ch = rsa.HashSHA512
|
||||||
default:
|
default:
|
||||||
// Illegal Alg
|
// Illegal Alg
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
// Need privakey representation in godns TODO(mg) see keygen.go
|
// Need privakey representation in godns TODO(mg) see keygen.go
|
||||||
io.WriteString(h, string(signdata))
|
io.WriteString(h, string(signdata))
|
||||||
|
@ -384,9 +384,9 @@ func (s *RR_RRSIG) Verify(k *RR_DNSKEY, rrset RRset) bool {
|
||||||
case AlgDSA:
|
case AlgDSA:
|
||||||
case AlgECC:
|
case AlgECC:
|
||||||
case AlgECCGOST:
|
case AlgECCGOST:
|
||||||
default:
|
default:
|
||||||
// Unknown Alg
|
// Unknown Alg
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return err == nil
|
return err == nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,6 +107,7 @@ Activate: 20110109154937`
|
||||||
sig.Inception = 1293942305 // date -u '+%s' -d"2011-01-02 04:25:05"
|
sig.Inception = 1293942305 // date -u '+%s' -d"2011-01-02 04:25:05"
|
||||||
sig.KeyTag = k.KeyTag()
|
sig.KeyTag = k.KeyTag()
|
||||||
sig.SignerName = k.Hdr.Name
|
sig.SignerName = k.Hdr.Name
|
||||||
|
sig.Algorithm = k.Algorithm
|
||||||
|
|
||||||
sig.Sign(p, []RR{soa})
|
sig.Sign(p, []RR{soa})
|
||||||
fmt.Printf("%v\n%v\n%v\n", k, soa, sig)
|
fmt.Printf("%v\n%v\n%v\n", k, soa, sig)
|
||||||
|
|
Loading…
Reference in New Issue