Fold more tests into 1 file
This commit is contained in:
parent
f1e3496e8d
commit
a1e2d21553
|
@ -1,68 +0,0 @@
|
|||
package dns
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
|
||||
func TestKeyGen(t *testing.T) {
|
||||
key := new(RR_DNSKEY)
|
||||
key.Hdr.Name = "miek.nl."
|
||||
key.Hdr.Rrtype = TypeDNSKEY
|
||||
key.Hdr.Class = ClassINET
|
||||
key.Hdr.Ttl = 3600
|
||||
key.Flags = 256
|
||||
key.Protocol = 3
|
||||
key.Algorithm = AlgRSASHA256
|
||||
key.Generate(512)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
func TestDnskey(t *testing.T) {
|
||||
return
|
||||
// This key was generate with LDNS:
|
||||
// ldns-keygen -a RSASHA256 -r /dev/urandom -b 1024 miek.nl
|
||||
// Show that we have al the RSA parameters and can check them
|
||||
// here to see what I came up with
|
||||
key := new(RR_DNSKEY)
|
||||
key.Hdr.Name = "miek.nl."
|
||||
key.Hdr.Rrtype = TypeDNSKEY
|
||||
key.Hdr.Class = ClassINET
|
||||
key.Hdr.Ttl = 3600
|
||||
key.Flags = 256
|
||||
key.Protocol = 3
|
||||
key.Algorithm = AlgRSASHA256
|
||||
key.PubKey = "AwEAAcELcuxHosJX3LjbR6EFzsqI3mKivwvO6Y5Kzt/OXYmLQUI8tnOrX9ilT/0qGraxoONayVX3A6bl1pG3h/xOxVEGcJGqbrZnhr2+4S9tW2GWQwevV+NhinE7v6MCCCheVCnAPh0KFb/u14ng3DQizP1spBU/NoAN31l678snBpZX"
|
||||
fmt.Printf("%v\n", key)
|
||||
|
||||
soa := new(RR_SOA)
|
||||
soa.Hdr = RR_Header{"Miek.nl.", TypeSOA, ClassINET, 875, 0}
|
||||
soa.Ns = "open.nlnetlabs.nl."
|
||||
soa.Mbox = "miekg.atoom.net."
|
||||
soa.Serial = 1293513905
|
||||
soa.Refresh = 14400
|
||||
soa.Retry = 3600
|
||||
soa.Expire = 604800
|
||||
soa.Minttl = 86400
|
||||
|
||||
sig := new(RR_RRSIG)
|
||||
sig.Hdr = RR_Header{"miek.nl.", TypeRRSIG, ClassINET, 14400, 0}
|
||||
sig.TypeCovered = TypeSOA
|
||||
sig.Algorithm = AlgRSASHA256
|
||||
sig.Labels = 2
|
||||
sig.Expiration = 1296098705 // date '+%s' -d"2011-01-27 04:25:05
|
||||
sig.Inception = 1293506705
|
||||
sig.OrigTtl = 14400
|
||||
//sig.KeyTag = 12051
|
||||
sig.KeyTag = 12273 //faked
|
||||
sig.SignerName = "miek.nl."
|
||||
sig.Signature = "kLq/5oFy3Sh5ZxPGFMCyHq8MtN6E17R1Ln9+bJ2Q76YYAxFE8Xlie33A1GFctH2uhzRzJKuP/JSjUkrvGk2rjBm32z9zXtZsKx/4yV0da2nLRm44NOmX6gsP4Yia8mdqPUajjkyLzAzU2bevtesJm0Z65AcmPdq3tUZODdRAcng="
|
||||
|
||||
sig.Verify(key, []RR{soa})
|
||||
|
||||
// From Kmiek.nl*.private
|
||||
openssl := "135560614087352210480379313279722604826647214111257577861451621491284835543707521986085999189597017237768514876957888744370440811423088511394629855684615382349190289731989185193184712980579812986523080792122141528583964882610028199770199112837017606561901919812183422914622295620927795008308854924436086101591"
|
||||
println("OPENSSL key: what should be is: ",openssl)
|
||||
}
|
||||
*/
|
|
@ -126,3 +126,65 @@ func TestSignVerify(t *testing.T) {
|
|||
println("It validates!!")
|
||||
}
|
||||
}
|
||||
|
||||
func TestKeyGen(t *testing.T) {
|
||||
key := new(RR_DNSKEY)
|
||||
key.Hdr.Name = "miek.nl."
|
||||
key.Hdr.Rrtype = TypeDNSKEY
|
||||
key.Hdr.Class = ClassINET
|
||||
key.Hdr.Ttl = 3600
|
||||
key.Flags = 256
|
||||
key.Protocol = 3
|
||||
key.Algorithm = AlgRSASHA256
|
||||
key.Generate(512)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
func TestDnskey(t *testing.T) {
|
||||
return
|
||||
// This key was generate with LDNS:
|
||||
// ldns-keygen -a RSASHA256 -r /dev/urandom -b 1024 miek.nl
|
||||
// Show that we have al the RSA parameters and can check them
|
||||
// here to see what I came up with
|
||||
key := new(RR_DNSKEY)
|
||||
key.Hdr.Name = "miek.nl."
|
||||
key.Hdr.Rrtype = TypeDNSKEY
|
||||
key.Hdr.Class = ClassINET
|
||||
key.Hdr.Ttl = 3600
|
||||
key.Flags = 256
|
||||
key.Protocol = 3
|
||||
key.Algorithm = AlgRSASHA256
|
||||
key.PubKey = "AwEAAcELcuxHosJX3LjbR6EFzsqI3mKivwvO6Y5Kzt/OXYmLQUI8tnOrX9ilT/0qGraxoONayVX3A6bl1pG3h/xOxVEGcJGqbrZnhr2+4S9tW2GWQwevV+NhinE7v6MCCCheVCnAPh0KFb/u14ng3DQizP1spBU/NoAN31l678snBpZX"
|
||||
fmt.Printf("%v\n", key)
|
||||
|
||||
soa := new(RR_SOA)
|
||||
soa.Hdr = RR_Header{"Miek.nl.", TypeSOA, ClassINET, 875, 0}
|
||||
soa.Ns = "open.nlnetlabs.nl."
|
||||
soa.Mbox = "miekg.atoom.net."
|
||||
soa.Serial = 1293513905
|
||||
soa.Refresh = 14400
|
||||
soa.Retry = 3600
|
||||
soa.Expire = 604800
|
||||
soa.Minttl = 86400
|
||||
|
||||
sig := new(RR_RRSIG)
|
||||
sig.Hdr = RR_Header{"miek.nl.", TypeRRSIG, ClassINET, 14400, 0}
|
||||
sig.TypeCovered = TypeSOA
|
||||
sig.Algorithm = AlgRSASHA256
|
||||
sig.Labels = 2
|
||||
sig.Expiration = 1296098705 // date '+%s' -d"2011-01-27 04:25:05
|
||||
sig.Inception = 1293506705
|
||||
sig.OrigTtl = 14400
|
||||
//sig.KeyTag = 12051
|
||||
sig.KeyTag = 12273 //faked
|
||||
sig.SignerName = "miek.nl."
|
||||
sig.Signature = "kLq/5oFy3Sh5ZxPGFMCyHq8MtN6E17R1Ln9+bJ2Q76YYAxFE8Xlie33A1GFctH2uhzRzJKuP/JSjUkrvGk2rjBm32z9zXtZsKx/4yV0da2nLRm44NOmX6gsP4Yia8mdqPUajjkyLzAzU2bevtesJm0Z65AcmPdq3tUZODdRAcng="
|
||||
|
||||
sig.Verify(key, []RR{soa})
|
||||
|
||||
// From Kmiek.nl*.private
|
||||
openssl := "135560614087352210480379313279722604826647214111257577861451621491284835543707521986085999189597017237768514876957888744370440811423088511394629855684615382349190289731989185193184712980579812986523080792122141528583964882610028199770199112837017606561901919812183422914622295620927795008308854924436086101591"
|
||||
println("OPENSSL key: what should be is: ",openssl)
|
||||
}
|
||||
*/
|
||||
|
|
18
edns_test.go
18
edns_test.go
|
@ -1,18 +0,0 @@
|
|||
package dns
|
||||
|
||||
// Test EDNS RR records
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestEDNS_RR(t *testing.T) {
|
||||
edns := new(RR_OPT)
|
||||
edns.Hdr.Name = "." // must . be for edns
|
||||
edns.Hdr.Rrtype = TypeOPT
|
||||
edns.Hdr.Class = ClassINET
|
||||
edns.Hdr.Ttl = 3600
|
||||
edns.Option = make([]Option, 1)
|
||||
edns.Option[0].Code = OptionCodeNSID
|
||||
edns.Option[0].Data = "lalalala"
|
||||
//t..Logf("%v\n", edns)
|
||||
}
|
45
pack_test.go
45
pack_test.go
|
@ -1,45 +0,0 @@
|
|||
package dns
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestPackUnpack(t *testing.T) {
|
||||
out := new(Msg)
|
||||
out.Answer = make([]RR, 1)
|
||||
key := new(RR_DNSKEY)
|
||||
key.Hdr = RR_Header{Name: "miek.nl.", Rrtype: TypeDNSKEY, Class: ClassINET, Ttl: 3600}
|
||||
key = &RR_DNSKEY{Flags: 257, Protocol: 3, Algorithm: AlgRSASHA1}
|
||||
key.PubKey = "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFqNDzr//kZ"
|
||||
|
||||
out.Answer[0] = key
|
||||
msg, ok := out.Pack()
|
||||
if !ok {
|
||||
t.Log("Failed to pack msg with DNSKEY")
|
||||
t.Fail()
|
||||
}
|
||||
|
||||
in := new(Msg)
|
||||
if !in.Unpack(msg) {
|
||||
t.Log("Failed to unpack msg with DNSKEY")
|
||||
t.Fail()
|
||||
}
|
||||
|
||||
sig := new(RR_RRSIG)
|
||||
sig.Hdr = RR_Header{Name: "miek.nl.", Rrtype: TypeRRSIG, Class: ClassINET, Ttl: 3600}
|
||||
sig = &RR_RRSIG{TypeCovered: TypeDNSKEY, Algorithm: AlgRSASHA1, Labels: 2,
|
||||
OrigTtl: 3600, Expiration: 4000, Inception: 4000, KeyTag: 34641, SignerName: "miek.nl.",
|
||||
Signature: "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFqNDzr//kZ"}
|
||||
|
||||
out.Answer[0] = sig
|
||||
msg, ok = out.Pack()
|
||||
if !ok {
|
||||
t.Log("Failed to pack msg with RRSIG")
|
||||
t.Fail()
|
||||
}
|
||||
|
||||
if !in.Unpack(msg) {
|
||||
t.Log("Failed to unpack msg with RRSIG")
|
||||
t.Fail()
|
||||
}
|
||||
}
|
36
tsig_test.go
36
tsig_test.go
|
@ -1,36 +0,0 @@
|
|||
package dns
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"fmt"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestTsig(t *testing.T) {
|
||||
tsig := new(RR_TSIG)
|
||||
tsig.Hdr.Name = "miek.nl." // for tsig this is the key's name
|
||||
tsig.Hdr.Rrtype = TypeTSIG
|
||||
tsig.Hdr.Class = ClassANY
|
||||
tsig.Hdr.Ttl = 0
|
||||
tsig.Fudge = 300
|
||||
tsig.TimeSigned = uint64(time.Seconds())
|
||||
|
||||
out := new(Msg)
|
||||
out.MsgHdr.RecursionDesired = true
|
||||
out.Question = make([]Question, 1)
|
||||
out.Question[0] = Question{"miek.nl.", TypeSOA, ClassINET}
|
||||
|
||||
ok := tsig.Generate(out, "geheim")
|
||||
if !ok {
|
||||
t.Log("Failed")
|
||||
t.Fail()
|
||||
}
|
||||
fmt.Printf("%v\n", tsig)
|
||||
|
||||
// Having the TSIG record, it must now be added to the msg
|
||||
// in the extra section
|
||||
out.Extra = make([]RR, 1)
|
||||
out.Extra[0] = tsig
|
||||
|
||||
fmt.Printf("%v\n", out)
|
||||
}
|
Loading…
Reference in New Issue