From 32b250eab5e7847d3186ed1a61146dd01eb8f3c0 Mon Sep 17 00:00:00 2001 From: kambe-mikb <77083885+kambe-mikb@users.noreply.github.com> Date: Tue, 28 Sep 2021 17:40:18 +1000 Subject: [PATCH] Fix for Issue 31 Fix Issue 31 by removing reference to RSA_SSLV23_PADDING (removed from OpenSSL starting from v3.0.0) --- RSA.pm | 3 ++- RSA.xs | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/RSA.pm b/RSA.pm index 3e74925..afd27fd 100644 --- a/RSA.pm +++ b/RSA.pm @@ -37,7 +37,6 @@ Crypt::OpenSSL::RSA - RSA encoding and decoding, using the openSSL libraries Crypt::OpenSSL::Random::random_seed($good_entropy); Crypt::OpenSSL::RSA->import_random_seed(); $rsa_pub = Crypt::OpenSSL::RSA->new_public_key($key_string); - $rsa_pub->use_sslv23_padding(); # use_pkcs1_oaep_padding is the default $ciphertext = $rsa->encrypt($plaintext); $rsa_priv = Crypt::OpenSSL::RSA->new_private_key($key_string); @@ -228,6 +227,8 @@ C. Use C padding with an SSL-specific modification that denotes that the server is SSL3 capable. +Not available since OpenSSL 3. + =item use_md5_hash Use the RFC 1321 MD5 hashing algorithm by Ron Rivest when signing and diff --git a/RSA.xs b/RSA.xs index 46cb199..4f65dfc 100644 --- a/RSA.xs +++ b/RSA.xs @@ -640,12 +640,16 @@ use_pkcs1_oaep_padding(p_rsa) CODE: p_rsa->padding = RSA_PKCS1_OAEP_PADDING; +#if OPENSSL_VERSION_NUMBER < 0x30000000L + void use_sslv23_padding(p_rsa) rsaData* p_rsa; CODE: p_rsa->padding = RSA_SSLV23_PADDING; +#endif + # Sign text. Returns the signature. SV*