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  }