[tor-commits] [tor/maint-0.4.1] Revise TROVE-2020-002 fix to work on older OpenSSL versions.

nickm at torproject.org nickm at torproject.org
Wed Mar 18 13:34:38 UTC 2020


commit be064f77b93bda370e4165e6ad6da17324835c9e
Author: Nick Mathewson <nickm at torproject.org>
Date:   Sat Mar 14 13:38:53 2020 -0400

    Revise TROVE-2020-002 fix to work on older OpenSSL versions.
    
    Although OpenSSL before 1.1.1 is no longer supported, it's possible
    that somebody is still using it with 0.3.5, so we probably shouldn't
    break it with this fix.
---
 src/lib/crypt_ops/crypto_rsa_openssl.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/lib/crypt_ops/crypto_rsa_openssl.c b/src/lib/crypt_ops/crypto_rsa_openssl.c
index 022a0dc09..39b7aaf0c 100644
--- a/src/lib/crypt_ops/crypto_rsa_openssl.c
+++ b/src/lib/crypt_ops/crypto_rsa_openssl.c
@@ -584,7 +584,11 @@ crypto_pk_asn1_decode_private(const char *str, size_t len, int max_bits)
     crypto_openssl_log_errors(LOG_WARN,"decoding private key");
     return NULL;
   }
+#ifdef OPENSSL_1_1_API
   if (max_bits >= 0 && RSA_bits(rsa) > max_bits) {
+#else
+  if (max_bits >= 0 && rsa->n && BN_num_bits(rsa->n) > max_bits) {
+#endif
     log_info(LD_CRYPTO, "Private key longer than expected.");
     return NULL;
   }





More information about the tor-commits mailing list