提交 d5239945 作者: Jeromy

add test for crypto package (issue #59, improve code coverage)

上级 0ec9dce1
package crypto
import "testing"
func TestRsaKeys(t *testing.T) {
sk, _, err := GenerateKeyPair(RSA, 512)
if err != nil {
t.Fatal(err)
}
testKeySignature(t, sk)
testKeyEncoding(t, sk)
}
func testKeySignature(t *testing.T, sk PrivKey) {
pk := sk.GetPublic()
text := sk.GenSecret()
sig, err := sk.Sign(text)
if err != nil {
t.Fatal(err)
}
valid, err := pk.Verify(text, sig)
if err != nil {
t.Fatal(err)
}
if !valid {
t.Fatal("Invalid signature.")
}
}
func testKeyEncoding(t *testing.T, sk PrivKey) {
skb, err := sk.Bytes()
if err != nil {
t.Fatal(err)
}
_, err = UnmarshalPrivateKey(skb)
if err != nil {
t.Fatal(err)
}
pk := sk.GetPublic()
pkb, err := pk.Bytes()
if err != nil {
t.Fatal(err)
}
_, err = UnmarshalPublicKey(pkb)
if err != nil {
t.Fatal(err)
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论