diff --git a/key.go b/key.go index 7bd10f7..cc17f5f 100644 --- a/key.go +++ b/key.go @@ -390,7 +390,11 @@ func LoadPublicKeyFromDER(der_block []byte) (PublicKey, error) { // GenerateRSAKey generates a new RSA private key with an exponent of 3. func GenerateRSAKey(bits int) (PrivateKey, error) { - exponent := 3 + return GenerateRSAKeyWithExponent(bits, 3) +} + +// GenerateRSAKeyWithExponent generates a new RSA private key. +func GenerateRSAKeyWithExponent(bits int, exponent int) (PrivateKey, error) { rsa := C.RSA_generate_key(C.int(bits), C.ulong(exponent), nil, nil) if rsa == nil { return nil, errors.New("failed to generate RSA key") diff --git a/key_test.go b/key_test.go index e7b5add..0af9012 100644 --- a/key_test.go +++ b/key_test.go @@ -152,6 +152,10 @@ func TestGenerate(t *testing.T) { if err != nil { t.Fatal(err) } + _, err = GenerateRSAKeyWithExponent(1024, 65537) + if err != nil { + t.Fatal(err) + } } func TestSign(t *testing.T) {