Add some tests
This commit is contained in:
parent
7246126f84
commit
120306a1df
22
util/crypto/derived_test.go
Normal file
22
util/crypto/derived_test.go
Normal file
@ -0,0 +1,22 @@
|
||||
package crypto
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"github.com/stretchr/testify/require"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestDerivedKey(t *testing.T) {
|
||||
seed := make([]byte, 32)
|
||||
_, err := rand.Read(seed)
|
||||
require.NoError(t, err)
|
||||
key, err := DeriveSymmetricKey(seed, AnytypeAccountPath)
|
||||
require.NoError(t, err)
|
||||
_, err = rand.Read(seed)
|
||||
require.NoError(t, err)
|
||||
res, err := key.Encrypt(seed)
|
||||
require.NoError(t, err)
|
||||
dec, err := key.Decrypt(res)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, seed, dec)
|
||||
}
|
||||
@ -9,12 +9,25 @@ import (
|
||||
func Test_EncryptDecrypt(t *testing.T) {
|
||||
privKey, pubKey, err := GenerateEd25519Key(rand.Reader)
|
||||
require.NoError(t, err)
|
||||
msg := make([]byte, 32768)
|
||||
msg := make([]byte, 32000)
|
||||
_, err = rand.Read(msg)
|
||||
require.NoError(t, err)
|
||||
enc, err := pubKey.Encrypt(msg)
|
||||
require.NoError(t, err)
|
||||
dec, err := privKey.Decrypt(enc)
|
||||
require.NoError(t, err)
|
||||
require.NotEqual(t, enc, dec)
|
||||
require.Equal(t, dec, msg)
|
||||
}
|
||||
|
||||
func Test_SignVerify(t *testing.T) {
|
||||
privKey, pubKey, err := GenerateEd25519Key(rand.Reader)
|
||||
require.NoError(t, err)
|
||||
msg := make([]byte, 32000)
|
||||
_, err = rand.Read(msg)
|
||||
sign, err := privKey.Sign(msg)
|
||||
require.NoError(t, err)
|
||||
res, err := pubKey.Verify(msg, sign)
|
||||
require.NoError(t, err)
|
||||
require.True(t, res)
|
||||
}
|
||||
|
||||
25
util/crypto/mnemonic_test.go
Normal file
25
util/crypto/mnemonic_test.go
Normal file
@ -0,0 +1,25 @@
|
||||
package crypto
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"github.com/stretchr/testify/require"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMnemonic(t *testing.T) {
|
||||
phrase, err := NewMnemonicGenerator().WithWordCount(12)
|
||||
require.NoError(t, err)
|
||||
parts := strings.Split(string(phrase), " ")
|
||||
require.Equal(t, 12, len(parts))
|
||||
key, err := phrase.DeriveEd25519Key(0)
|
||||
require.NoError(t, err)
|
||||
bytes := make([]byte, 64)
|
||||
_, err = rand.Read(bytes)
|
||||
require.NoError(t, err)
|
||||
sign, err := key.Sign(bytes)
|
||||
require.NoError(t, err)
|
||||
res, err := key.GetPublic().Verify(bytes, sign)
|
||||
require.NoError(t, err)
|
||||
require.True(t, res)
|
||||
}
|
||||
@ -10,11 +10,9 @@ func IdFromSigningPubKey(pubKey PubKey) (peer.ID, error) {
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
libp2pKey, err := crypto.UnmarshalEd25519PublicKey(rawSigning)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return peer.IDFromPublicKey(libp2pKey)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user