Make some ECDSA failures more informative/accurate
This commit is contained in:
parent
f01e44c2fd
commit
bcc05715b3
|
@ -455,12 +455,19 @@ PrivateKey: WURgWHCcYIYUPWgeLmiPY2DJJk02vgrmTfitxgqcL4vwW7BOrbawVmVe0d9V94SR`
|
||||||
sig.SignerName = eckey.(*DNSKEY).Hdr.Name
|
sig.SignerName = eckey.(*DNSKEY).Hdr.Name
|
||||||
sig.Algorithm = eckey.(*DNSKEY).Algorithm
|
sig.Algorithm = eckey.(*DNSKEY).Algorithm
|
||||||
|
|
||||||
sig.Sign(privkey, []RR{a})
|
if sig.Sign(privkey, []RR{a}) != nil {
|
||||||
|
t.Fatal("failure to sign the record")
|
||||||
|
}
|
||||||
|
|
||||||
t.Logf("%s", sig.String())
|
|
||||||
if e := sig.Verify(eckey.(*DNSKEY), []RR{a}); e != nil {
|
if e := sig.Verify(eckey.(*DNSKEY), []RR{a}); e != nil {
|
||||||
t.Logf("failure to validate: %s", e.Error())
|
t.Logf("\n%s\n%s\n%s\n\n%s\n\n",
|
||||||
t.Fail()
|
eckey.(*DNSKEY).String(),
|
||||||
|
a.String(),
|
||||||
|
sig.String(),
|
||||||
|
eckey.(*DNSKEY).PrivateKeyString(privkey),
|
||||||
|
)
|
||||||
|
|
||||||
|
t.Fatalf("failure to validate: %s", e.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -503,6 +510,13 @@ func TestSignVerifyECDSA2(t *testing.T) {
|
||||||
|
|
||||||
err = sig.Verify(key, []RR{srv})
|
err = sig.Verify(key, []RR{srv})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
t.Logf("\n%s\n%s\n%s\n\n%s\n\n",
|
||||||
|
key.String(),
|
||||||
|
srv.String(),
|
||||||
|
sig.String(),
|
||||||
|
key.PrivateKeyString(privkey),
|
||||||
|
)
|
||||||
|
|
||||||
t.Fatal("Failure to validate:", err)
|
t.Fatal("Failure to validate:", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
6
kscan.go
6
kscan.go
|
@ -39,7 +39,7 @@ func (k *DNSKEY) ReadPrivateKey(q io.Reader, file string) (PrivateKey, error) {
|
||||||
return nil, e
|
return nil, e
|
||||||
}
|
}
|
||||||
if !k.setPublicKeyInPrivate(p) {
|
if !k.setPublicKeyInPrivate(p) {
|
||||||
return nil, ErrPrivKey
|
return nil, ErrKey
|
||||||
}
|
}
|
||||||
return p, e
|
return p, e
|
||||||
case "1 (RSAMD5)":
|
case "1 (RSAMD5)":
|
||||||
|
@ -56,7 +56,7 @@ func (k *DNSKEY) ReadPrivateKey(q io.Reader, file string) (PrivateKey, error) {
|
||||||
return nil, e
|
return nil, e
|
||||||
}
|
}
|
||||||
if !k.setPublicKeyInPrivate(p) {
|
if !k.setPublicKeyInPrivate(p) {
|
||||||
return nil, ErrPrivKey
|
return nil, ErrKey
|
||||||
}
|
}
|
||||||
return p, e
|
return p, e
|
||||||
case "12 (ECC-GOST)":
|
case "12 (ECC-GOST)":
|
||||||
|
@ -74,7 +74,7 @@ func (k *DNSKEY) ReadPrivateKey(q io.Reader, file string) (PrivateKey, error) {
|
||||||
return nil, e
|
return nil, e
|
||||||
}
|
}
|
||||||
if !k.setPublicKeyInPrivate(p) {
|
if !k.setPublicKeyInPrivate(p) {
|
||||||
return nil, ErrPrivKey
|
return nil, ErrKey
|
||||||
}
|
}
|
||||||
return p, e
|
return p, e
|
||||||
}
|
}
|
||||||
|
|
|
@ -1258,6 +1258,9 @@ func TestNewPrivateKeyECDSA(t *testing.T) {
|
||||||
|
|
||||||
newPrivKey, err := key.NewPrivateKey(key.PrivateKeyString(privkey))
|
newPrivKey, err := key.NewPrivateKey(key.PrivateKeyString(privkey))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
t.Log(key.String())
|
||||||
|
t.Log(key.PrivateKeyString(privkey))
|
||||||
|
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue