mirror of
https://github.com/miekg/dns.git
synced 2025-10-13 19:01:01 +02:00
More dnssec stuff added
This commit is contained in:
parent
ac43aed00f
commit
bc624181dc
10
dnssec.go
10
dnssec.go
@ -189,9 +189,12 @@ func (s *RR_RRSIG) Verify(rrset RRset, k *RR_DNSKEY) bool {
|
|||||||
keybuf := make([]byte, 1024)
|
keybuf := make([]byte, 1024)
|
||||||
keybuflen := base64.StdEncoding.DecodedLen(len(k.PubKey))
|
keybuflen := base64.StdEncoding.DecodedLen(len(k.PubKey))
|
||||||
base64.StdEncoding.Decode(keybuf[0:keybuflen], []byte(k.PubKey))
|
base64.StdEncoding.Decode(keybuf[0:keybuflen], []byte(k.PubKey))
|
||||||
|
keybuf = keybuf[:keybuflen]
|
||||||
sigbuf := make([]byte, 1024)
|
sigbuf := make([]byte, 1024)
|
||||||
sigbuflen := base64.StdEncoding.DecodedLen(len(s.Signature))
|
sigbuflen := base64.StdEncoding.DecodedLen(len(s.Signature))
|
||||||
base64.StdEncoding.Decode(sigbuf[0:sigbuflen], []byte(s.Signature))
|
base64.StdEncoding.Decode(sigbuf[0:sigbuflen], []byte(s.Signature))
|
||||||
|
sigbuf = sigbuf[:sigbuflen]
|
||||||
|
fmt.Fprintf(os.Stderr, "len of sigbuf: %d\n", len(sigbuf))
|
||||||
|
|
||||||
switch s.Algorithm {
|
switch s.Algorithm {
|
||||||
case AlgRSASHA1:
|
case AlgRSASHA1:
|
||||||
@ -207,6 +210,13 @@ func (s *RR_RRSIG) Verify(rrset RRset, k *RR_DNSKEY) bool {
|
|||||||
pubkey.N = big.NewInt(0)
|
pubkey.N = big.NewInt(0)
|
||||||
pubkey.N.SetBytes(keybuf[4:])
|
pubkey.N.SetBytes(keybuf[4:])
|
||||||
fmt.Fprintf(os.Stderr, "%s\n", pubkey.N)
|
fmt.Fprintf(os.Stderr, "%s\n", pubkey.N)
|
||||||
|
|
||||||
|
err := rsa.VerifyPKCS1v15(pubkey, rsa.HashSHA256, signeddata, sigbuf)
|
||||||
|
if err == nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "NO SHIT!!\n")
|
||||||
|
} else {
|
||||||
|
fmt.Fprintf(os.Stderr, "%v\n", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user