From f1e3496e8d6e33e4109e868f6009a12837c28f09 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Sat, 15 Jan 2011 22:48:39 +0100 Subject: [PATCH] Fold some tests back together --- dnssec_test.go | 80 +++++++++++++++++++++++++++++++++++++++++++++- signature_test.go | 34 -------------------- signverify_test.go | 57 --------------------------------- 3 files changed, 79 insertions(+), 92 deletions(-) delete mode 100644 signature_test.go delete mode 100644 signverify_test.go diff --git a/dnssec_test.go b/dnssec_test.go index 90245c69..1298de2b 100644 --- a/dnssec_test.go +++ b/dnssec_test.go @@ -7,7 +7,6 @@ import ( ) func TestSecure(t *testing.T) { -// once this was valid soa := new(RR_SOA) soa.Hdr = RR_Header{"miek.nl.", TypeSOA, ClassINET, 14400, 0} soa.Ns = "open.nlnetlabs.nl." @@ -48,3 +47,82 @@ func TestSecure(t *testing.T) { println("It validates!!") } } + +func TestSignature(t *testing.T) { + sig := new(RR_RRSIG) + sig.Hdr.Name = "miek.nl." + sig.Hdr.Class = ClassINET + sig.Hdr.Ttl = 3600 + sig.TypeCovered = TypeDNSKEY + sig.Algorithm = AlgRSASHA1 + sig.Labels = 2 + sig.OrigTtl = 4000 + sig.Expiration = 1000 //Thu Jan 1 02:06:40 CET 1970 + sig.Inception = 800 //Thu Jan 1 01:13:20 CET 1970 + sig.KeyTag = 34641 + sig.SignerName = "miek.nl." + sig.Signature = "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFqNDzr//kZ" + + // Should not be valid + if sig.PeriodOK() { + t.Log("Should not be valid") + t.Fail() + } + + sig.Inception = 315565800 //Tue Jan 1 10:10:00 CET 1980 + sig.Expiration = 4102477800 //Fri Jan 1 10:10:00 CET 2100 + if !sig.PeriodOK() { + t.Log("Should be valid") + t.Fail() + } +} + +func TestSignVerify(t *testing.T) { + // The record we want to sign + soa := new(RR_SOA) + soa.Hdr = RR_Header{"miek.nl.", TypeSOA, ClassINET, 14400, 0} + soa.Ns = "open.nlnetlabs.nl." + soa.Mbox = "miekg.atoom.net." + soa.Serial = 1293945905 + soa.Refresh = 14400 + soa.Retry = 3600 + soa.Expire = 604800 + soa.Minttl = 86400 + + // With this key + key := new(RR_DNSKEY) + key.Hdr.Rrtype = TypeDNSKEY + key.Hdr.Name = "miek.nl." + key.Hdr.Class = ClassINET + key.Hdr.Ttl = 14400 + key.Flags = 256 + key.Protocol = 3 + key.Algorithm = AlgRSASHA256 + privkey, _ := key.Generate(512) + fmt.Fprintf(os.Stderr, "Key tag: %d\n", key.KeyTag()) + + // Fill in the values of the Sig, before signing + sig := new(RR_RRSIG) + sig.Hdr = RR_Header{"miek.nl.", TypeRRSIG, ClassINET, 14400, 0} + sig.TypeCovered = soa.Hdr.Rrtype + sig.Labels = LabelCount(soa.Hdr.Name) + sig.OrigTtl = soa.Hdr.Ttl + sig.Expiration = 1296534305 // date -u '+%s' -d"2011-02-01 04:25:05" + sig.Inception = 1293942305 // date -u '+%s' -d"2011-01-02 04:25:05" + sig.KeyTag = key.KeyTag() // Get the keyfrom the Key + sig.SignerName = key.Hdr.Name + sig.Algorithm = AlgRSASHA256 + + // zal wel goed zijn + if !sig.Sign(privkey, []RR{soa}) { + t.Log("Failure to sign the SOA record") + t.Fail() + } + fmt.Fprintf(os.Stderr, "%v\n%v\n%v\n", soa, key, sig) + if !sig.Verify(key, []RR{soa}) { + t.Log("Failure to validate") + t.Fail() + } else { + println("It validates!!") + } +} diff --git a/signature_test.go b/signature_test.go deleted file mode 100644 index 5aeabed4..00000000 --- a/signature_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package dns - -import ( - "testing" -) - -func TestSignature(t *testing.T) { - sig := new(RR_RRSIG) - sig.Hdr.Name = "miek.nl." - sig.Hdr.Class = ClassINET - sig.Hdr.Ttl = 3600 - sig.TypeCovered = TypeDNSKEY - sig.Algorithm = AlgRSASHA1 - sig.Labels = 2 - sig.OrigTtl = 4000 - sig.Expiration = 1000 //Thu Jan 1 02:06:40 CET 1970 - sig.Inception = 800 //Thu Jan 1 01:13:20 CET 1970 - sig.KeyTag = 34641 - sig.SignerName = "miek.nl." - sig.Signature = "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFqNDzr//kZ" - - // Should not be valid - if sig.PeriodOK() { - t.Log("Should not be valid") - t.Fail() - } - - sig.Inception = 315565800 //Tue Jan 1 10:10:00 CET 1980 - sig.Expiration = 4102477800 //Fri Jan 1 10:10:00 CET 2100 - if !sig.PeriodOK() { - t.Log("Should be valid") - t.Fail() - } -} diff --git a/signverify_test.go b/signverify_test.go deleted file mode 100644 index f45fab86..00000000 --- a/signverify_test.go +++ /dev/null @@ -1,57 +0,0 @@ -package dns - -import ( - "testing" - "fmt" - "os" -) - -func TestSignVerify(t *testing.T) { - // The record we want to sign - soa := new(RR_SOA) - soa.Hdr = RR_Header{"miek.nl.", TypeSOA, ClassINET, 14400, 0} - soa.Ns = "open.nlnetlabs.nl." - soa.Mbox = "miekg.atoom.net." - soa.Serial = 1293945905 - soa.Refresh = 14400 - soa.Retry = 3600 - soa.Expire = 604800 - soa.Minttl = 86400 - - // With this key - key := new(RR_DNSKEY) - key.Hdr.Rrtype = TypeDNSKEY - key.Hdr.Name = "miek.nl." - key.Hdr.Class = ClassINET - key.Hdr.Ttl = 14400 - key.Flags = 256 - key.Protocol = 3 - key.Algorithm = AlgRSASHA256 - privkey, _ := key.Generate(512) - fmt.Fprintf(os.Stderr, "Key tag: %d\n", key.KeyTag()) - - // Fill in the values of the Sig, before signing - sig := new(RR_RRSIG) - sig.Hdr = RR_Header{"miek.nl.", TypeRRSIG, ClassINET, 14400, 0} - sig.TypeCovered = soa.Hdr.Rrtype - sig.Labels = LabelCount(soa.Hdr.Name) - sig.OrigTtl = soa.Hdr.Ttl - sig.Expiration = 1296534305 // date -u '+%s' -d"2011-02-01 04:25:05" - sig.Inception = 1293942305 // date -u '+%s' -d"2011-01-02 04:25:05" - sig.KeyTag = key.KeyTag() // Get the keyfrom the Key - sig.SignerName = key.Hdr.Name - sig.Algorithm = AlgRSASHA256 - - // zal wel goed zijn - if !sig.Sign(privkey, []RR{soa}) { - t.Log("Failure to sign the SOA record") - t.Fail() - } - fmt.Fprintf(os.Stderr, "%v\n%v\n%v\n", soa, key, sig) - if !sig.Verify(key, []RR{soa}) { - t.Log("Failure to validate") - t.Fail() - } else { - println("It validates!!") - } -}