@@ -176,6 +176,13 @@ const X509_ALGOR* X509_get0_tbs_sigalg(const X509* x509);
176
176
X509_PUBKEY * X509_get_X509_PUBKEY (const X509 * x509 );
177
177
int32_t X509_get_version (const X509 * x509 );
178
178
int32_t X509_up_ref (X509 * x509 );
179
+
180
+ // Redefine EVP_PKEY_CTX_set_rsa operations to use (local_)RSA_pkey_ctx_ctrl so the path is the same
181
+ // for 1.0-built on 1.1 as on 1.1-built on 1.1.
182
+ #undef EVP_PKEY_CTX_set_rsa_keygen_bits
183
+ #define EVP_PKEY_CTX_set_rsa_keygen_bits (ctx , bits ) \
184
+ RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL)
185
+
179
186
#endif
180
187
181
188
#if OPENSSL_VERSION_NUMBER < OPENSSL_VERSION_1_0_2_RTM
@@ -362,15 +369,21 @@ void SSL_get0_alpn_selected(const SSL* ssl, const unsigned char** protocol, unsi
362
369
RENAMED_FUNCTION(EVP_MD_CTX_free, EVP_MD_CTX_destroy) \
363
370
RENAMED_FUNCTION(EVP_MD_CTX_new, EVP_MD_CTX_create) \
364
371
REQUIRED_FUNCTION(EVP_MD_size) \
372
+ REQUIRED_FUNCTION(EVP_PKEY_CTX_ctrl) \
365
373
REQUIRED_FUNCTION(EVP_PKEY_CTX_free) \
374
+ REQUIRED_FUNCTION(EVP_PKEY_CTX_get0_pkey) \
366
375
REQUIRED_FUNCTION(EVP_PKEY_CTX_new) \
376
+ REQUIRED_FUNCTION(EVP_PKEY_CTX_new_id) \
377
+ REQUIRED_FUNCTION(EVP_PKEY_base_id) \
367
378
REQUIRED_FUNCTION(EVP_PKEY_derive_set_peer) \
368
379
REQUIRED_FUNCTION(EVP_PKEY_derive_init) \
369
380
REQUIRED_FUNCTION(EVP_PKEY_derive) \
370
381
REQUIRED_FUNCTION(EVP_PKEY_free) \
371
382
REQUIRED_FUNCTION(EVP_PKEY_get1_DSA) \
372
383
REQUIRED_FUNCTION(EVP_PKEY_get1_EC_KEY) \
373
384
REQUIRED_FUNCTION(EVP_PKEY_get1_RSA) \
385
+ REQUIRED_FUNCTION(EVP_PKEY_keygen) \
386
+ REQUIRED_FUNCTION(EVP_PKEY_keygen_init) \
374
387
REQUIRED_FUNCTION(EVP_PKEY_new) \
375
388
REQUIRED_FUNCTION(EVP_PKEY_set1_DSA) \
376
389
REQUIRED_FUNCTION(EVP_PKEY_set1_EC_KEY) \
@@ -453,6 +466,7 @@ void SSL_get0_alpn_selected(const SSL* ssl, const unsigned char** protocol, unsi
453
466
FALLBACK_FUNCTION(RSA_get0_key) \
454
467
FALLBACK_FUNCTION(RSA_meth_get_flags) \
455
468
REQUIRED_FUNCTION(RSA_new) \
469
+ FALLBACK_FUNCTION(RSA_pkey_ctx_ctrl) \
456
470
RENAMED_FUNCTION(RSA_PKCS1_OpenSSL, RSA_PKCS1_SSLeay) \
457
471
REQUIRED_FUNCTION(RSA_private_decrypt) \
458
472
REQUIRED_FUNCTION(RSA_private_encrypt) \
@@ -773,15 +787,21 @@ FOR_ALL_OPENSSL_FUNCTIONS
773
787
#define EVP_MD_CTX_free EVP_MD_CTX_free_ptr
774
788
#define EVP_MD_CTX_new EVP_MD_CTX_new_ptr
775
789
#define EVP_MD_size EVP_MD_size_ptr
790
+ #define EVP_PKEY_CTX_ctrl EVP_PKEY_CTX_ctrl_ptr
776
791
#define EVP_PKEY_CTX_free EVP_PKEY_CTX_free_ptr
792
+ #define EVP_PKEY_CTX_get0_pkey EVP_PKEY_CTX_get0_pkey_ptr
777
793
#define EVP_PKEY_CTX_new EVP_PKEY_CTX_new_ptr
794
+ #define EVP_PKEY_CTX_new_id EVP_PKEY_CTX_new_id_ptr
795
+ #define EVP_PKEY_base_id EVP_PKEY_base_id_ptr
778
796
#define EVP_PKEY_derive_set_peer EVP_PKEY_derive_set_peer_ptr
779
797
#define EVP_PKEY_derive_init EVP_PKEY_derive_init_ptr
780
798
#define EVP_PKEY_derive EVP_PKEY_derive_ptr
781
799
#define EVP_PKEY_free EVP_PKEY_free_ptr
782
800
#define EVP_PKEY_get1_DSA EVP_PKEY_get1_DSA_ptr
783
801
#define EVP_PKEY_get1_EC_KEY EVP_PKEY_get1_EC_KEY_ptr
784
802
#define EVP_PKEY_get1_RSA EVP_PKEY_get1_RSA_ptr
803
+ #define EVP_PKEY_keygen EVP_PKEY_keygen_ptr
804
+ #define EVP_PKEY_keygen_init EVP_PKEY_keygen_init_ptr
785
805
#define EVP_PKEY_new EVP_PKEY_new_ptr
786
806
#define EVP_PKEY_set1_DSA EVP_PKEY_set1_DSA_ptr
787
807
#define EVP_PKEY_set1_EC_KEY EVP_PKEY_set1_EC_KEY_ptr
@@ -864,6 +884,7 @@ FOR_ALL_OPENSSL_FUNCTIONS
864
884
#define RSA_get_method RSA_get_method_ptr
865
885
#define RSA_meth_get_flags RSA_meth_get_flags_ptr
866
886
#define RSA_new RSA_new_ptr
887
+ #define RSA_pkey_ctx_ctrl RSA_pkey_ctx_ctrl_ptr
867
888
#define RSA_PKCS1_OpenSSL RSA_PKCS1_OpenSSL_ptr
868
889
#define RSA_private_decrypt RSA_private_decrypt_ptr
869
890
#define RSA_private_encrypt RSA_private_encrypt_ptr
@@ -1084,6 +1105,7 @@ FOR_ALL_OPENSSL_FUNCTIONS
1084
1105
#define RSA_set0_crt_params local_RSA_set0_crt_params
1085
1106
#define RSA_set0_factors local_RSA_set0_factors
1086
1107
#define RSA_set0_key local_RSA_set0_key
1108
+ #define RSA_pkey_ctx_ctrl local_RSA_pkey_ctx_ctrl
1087
1109
#define SSL_CTX_set_security_level local_SSL_CTX_set_security_level
1088
1110
#define SSL_is_init_finished local_SSL_is_init_finished
1089
1111
#define X509_CRL_get0_nextUpdate local_X509_CRL_get0_nextUpdate
0 commit comments