35 lines
702 B
Go
35 lines
702 B
Go
package crypto
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestVerifySignature(t *testing.T) {
|
|
const dataSize = 1000
|
|
|
|
priv, pub := Generate(rand.Reader)
|
|
data := make([]byte, dataSize)
|
|
_, err := rand.Reader.Read(data)
|
|
require.NoError(t, err)
|
|
|
|
sign, err := priv.(*ECDSAPriv).Sign(data)
|
|
require.NoError(t, err)
|
|
require.Equal(t, 64, len(sign))
|
|
|
|
err = pub.(*ECDSAPub).Verify(data, sign)
|
|
require.NoError(t, err)
|
|
}
|
|
|
|
func TestGenerateWith(t *testing.T) {
|
|
priv, pub := GenerateWith(defaultSuite, rand.Reader)
|
|
require.NotNil(t, priv)
|
|
require.NotNil(t, pub)
|
|
|
|
priv, pub = GenerateWith(suiteType(0xFF), rand.Reader)
|
|
require.Nil(t, priv)
|
|
require.Nil(t, pub)
|
|
}
|