[nginx] SSL: RSA data type is deprecated in OpenSSL 3.0.

Sergey Kandaurov pluknet at nginx.com
Tue Aug 10 21:46:24 UTC 2021


details:   https://hg.nginx.org/nginx/rev/37be19a3c0ee
branches:  
changeset: 7894:37be19a3c0ee
user:      Sergey Kandaurov <pluknet at nginx.com>
date:      Tue Aug 10 23:42:59 2021 +0300
description:
SSL: RSA data type is deprecated in OpenSSL 3.0.

The only consumer is a callback function for SSL_CTX_set_tmp_rsa_callback()
deprecated in OpenSSL 1.1.0.  Now the function is conditionally compiled too.

diffstat:

 src/event/ngx_event_openssl.c |  6 +++++-
 src/event/ngx_event_openssl.h |  2 ++
 2 files changed, 7 insertions(+), 1 deletions(-)

diffs (44 lines):

diff -r 7a6afd584eb4 -r 37be19a3c0ee src/event/ngx_event_openssl.c
--- a/src/event/ngx_event_openssl.c	Mon Aug 09 18:12:12 2021 +0300
+++ b/src/event/ngx_event_openssl.c	Tue Aug 10 23:42:59 2021 +0300
@@ -1116,6 +1116,8 @@ ngx_ssl_info_callback(const ngx_ssl_conn
 }
 
 
+#if (OPENSSL_VERSION_NUMBER < 0x10100001L && !defined LIBRESSL_VERSION_NUMBER)
+
 RSA *
 ngx_ssl_rsa512_key_callback(ngx_ssl_conn_t *ssl_conn, int is_export,
     int key_length)
@@ -1126,7 +1128,7 @@ ngx_ssl_rsa512_key_callback(ngx_ssl_conn
         return NULL;
     }
 
-#if (OPENSSL_VERSION_NUMBER < 0x10100003L && !defined OPENSSL_NO_DEPRECATED)
+#ifndef OPENSSL_NO_DEPRECATED
 
     if (key == NULL) {
         key = RSA_generate_key(512, RSA_F4, NULL, NULL);
@@ -1137,6 +1139,8 @@ ngx_ssl_rsa512_key_callback(ngx_ssl_conn
     return key;
 }
 
+#endif
+
 
 ngx_array_t *
 ngx_ssl_read_password_file(ngx_conf_t *cf, ngx_str_t *file)
diff -r 7a6afd584eb4 -r 37be19a3c0ee src/event/ngx_event_openssl.h
--- a/src/event/ngx_event_openssl.h	Mon Aug 09 18:12:12 2021 +0300
+++ b/src/event/ngx_event_openssl.h	Tue Aug 10 23:42:59 2021 +0300
@@ -196,8 +196,10 @@ ngx_int_t ngx_ssl_ocsp_validate(ngx_conn
 ngx_int_t ngx_ssl_ocsp_get_status(ngx_connection_t *c, const char **s);
 void ngx_ssl_ocsp_cleanup(ngx_connection_t *c);
 ngx_int_t ngx_ssl_ocsp_cache_init(ngx_shm_zone_t *shm_zone, void *data);
+#if (OPENSSL_VERSION_NUMBER < 0x10100001L && !defined LIBRESSL_VERSION_NUMBER)
 RSA *ngx_ssl_rsa512_key_callback(ngx_ssl_conn_t *ssl_conn, int is_export,
     int key_length);
+#endif
 ngx_array_t *ngx_ssl_read_password_file(ngx_conf_t *cf, ngx_str_t *file);
 ngx_array_t *ngx_ssl_preserve_passwords(ngx_conf_t *cf,
     ngx_array_t *passwords);


More information about the nginx-devel mailing list