github.com/letsencrypt/boulder@v0.20251208.0/linter/linter_test.go (about)

     1  package linter
     2  
     3  import (
     4  	"crypto/ecdsa"
     5  	"crypto/ed25519"
     6  	"crypto/elliptic"
     7  	"crypto/rsa"
     8  	"math/big"
     9  	"strings"
    10  	"testing"
    11  
    12  	"github.com/letsencrypt/boulder/test"
    13  )
    14  
    15  func TestMakeSigner_RSA(t *testing.T) {
    16  	rsaMod, ok := big.NewInt(0).SetString(strings.Repeat("ff", 128), 16)
    17  	test.Assert(t, ok, "failed to set RSA mod")
    18  	realSigner := &rsa.PrivateKey{
    19  		PublicKey: rsa.PublicKey{
    20  			N: rsaMod,
    21  		},
    22  	}
    23  	lintSigner, err := makeSigner(realSigner)
    24  	test.AssertNotError(t, err, "makeSigner failed")
    25  	_, ok = lintSigner.(*rsa.PrivateKey)
    26  	test.Assert(t, ok, "lint signer is not RSA")
    27  }
    28  
    29  func TestMakeSigner_ECDSA(t *testing.T) {
    30  	realSigner := &ecdsa.PrivateKey{
    31  		PublicKey: ecdsa.PublicKey{
    32  			Curve: elliptic.P256(),
    33  		},
    34  	}
    35  	lintSigner, err := makeSigner(realSigner)
    36  	test.AssertNotError(t, err, "makeSigner failed")
    37  	_, ok := lintSigner.(*ecdsa.PrivateKey)
    38  	test.Assert(t, ok, "lint signer is not ECDSA")
    39  }
    40  
    41  func TestMakeSigner_Unsupported(t *testing.T) {
    42  	realSigner := ed25519.NewKeyFromSeed([]byte("0123456789abcdef0123456789abcdef"))
    43  	_, err := makeSigner(realSigner)
    44  	test.AssertError(t, err, "makeSigner shouldn't have succeeded")
    45  }
    46  
    47  func TestMakeIssuer(t *testing.T) {
    48  
    49  }