Blob Blame History Raw
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
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fix Issue 31 by removing reference to RSA_SSLV23_PADDING (removed from OpenSSL starting from v3.0.0)

Signed-off-by: Petr Písař <ppisar@redhat.com>
---
 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<Crypt::OpenSSL::RSA>.
 Use C<PKCS #1 v1.5> 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*
-- 
2.31.1