Set the algorithm too in the test

This commit is contained in:
Miek Gieben 2011-01-18 11:34:48 +01:00
parent 3df903d6e6
commit 68e0e0b1be
2 changed files with 16 additions and 15 deletions

View File

@ -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
} }

View File

@ -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)