github.com/storacha/go-ucanto@v0.7.2/principal/rsa/signer/signer_test.go (about) 1 package signer 2 3 import ( 4 "crypto/rand" 5 "crypto/rsa" 6 "crypto/x509" 7 "fmt" 8 "testing" 9 10 "github.com/storacha/go-ucanto/testing/helpers" 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestGenerateEncodeDecode(t *testing.T) { 15 s0 := helpers.Must(Generate()) 16 fmt.Println(s0.DID().String()) 17 18 s1 := helpers.Must(Decode(s0.Encode())) 19 fmt.Println(s1.DID().String()) 20 21 require.Equal(t, s0.DID().String(), s1.DID().String()) 22 } 23 24 func TestGenerateFormatParse(t *testing.T) { 25 s0 := helpers.Must(Generate()) 26 fmt.Println(s0.DID().String()) 27 28 str := helpers.Must(Format(s0)) 29 fmt.Println(str) 30 31 s1 := helpers.Must(Parse(str)) 32 fmt.Println(s1.DID().String()) 33 34 require.Equal(t, s0.DID().String(), s1.DID().String()) 35 } 36 37 func TestVerify(t *testing.T) { 38 s0 := helpers.Must(Generate()) 39 40 msg := []byte("testy") 41 sig := s0.Sign(msg) 42 43 res := s0.Verifier().Verify(msg, sig) 44 require.Equal(t, true, res) 45 } 46 47 func TestFromRaw(t *testing.T) { 48 priv, err := rsa.GenerateKey(rand.Reader, keySize) 49 require.NoError(t, err) 50 51 raw := x509.MarshalPKCS1PrivateKey(priv) 52 53 s, err := FromRaw(raw) 54 require.NoError(t, err) 55 56 require.Equal(t, raw, s.Raw()) 57 }