github.com/kubri/kubri@v0.5.1-0.20240317001612-bda2aaef967e/pkg/crypto/dsa/dsa_test.go (about)

     1  package dsa_test
     2  
     3  import (
     4  	"math/big"
     5  	"testing"
     6  
     7  	"github.com/google/go-cmp/cmp"
     8  
     9  	"github.com/kubri/kubri/pkg/crypto/dsa"
    10  	"github.com/kubri/kubri/pkg/crypto/internal/cryptotest"
    11  )
    12  
    13  func TestDSA(t *testing.T) {
    14  	cryptotest.Test(t,
    15  		cryptotest.Implementation[*dsa.PrivateKey, *dsa.PublicKey]{
    16  			NewPrivateKey:       dsa.NewPrivateKey,
    17  			MarshalPrivateKey:   dsa.MarshalPrivateKey,
    18  			UnmarshalPrivateKey: dsa.UnmarshalPrivateKey,
    19  			Public:              dsa.Public,
    20  			MarshalPublicKey:    dsa.MarshalPublicKey,
    21  			UnmarshalPublicKey:  dsa.UnmarshalPublicKey,
    22  			Sign:                dsa.Sign,
    23  			Verify:              dsa.Verify,
    24  		},
    25  		cryptotest.WithCmpOptions(cmp.Comparer(func(a, b *big.Int) bool { return a.Cmp(b) == 0 })),
    26  		cryptotest.WithOpenSSLTest("dgst", "-sha1", "-verify", "public.pem", "-signature", "data.txt.sig", "data.txt"),
    27  	)
    28  }