Fold some tests back together
This commit is contained in:
parent
508103a287
commit
f1e3496e8d
|
@ -7,7 +7,6 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSecure(t *testing.T) {
|
func TestSecure(t *testing.T) {
|
||||||
// once this was valid
|
|
||||||
soa := new(RR_SOA)
|
soa := new(RR_SOA)
|
||||||
soa.Hdr = RR_Header{"miek.nl.", TypeSOA, ClassINET, 14400, 0}
|
soa.Hdr = RR_Header{"miek.nl.", TypeSOA, ClassINET, 14400, 0}
|
||||||
soa.Ns = "open.nlnetlabs.nl."
|
soa.Ns = "open.nlnetlabs.nl."
|
||||||
|
@ -48,3 +47,82 @@ func TestSecure(t *testing.T) {
|
||||||
println("It validates!!")
|
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!!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -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()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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!!")
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue