The SSL_CTX's cert structure is not relevant for the SSL (because now SSL_new makes a copy).
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 365b3ce..0b30ccf 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c
@@ -575,8 +575,6 @@ SSLerr(SSL_F_SSL_CHECK_PRIVATE_KEY,ERR_R_PASSED_NULL_PARAMETER); return(0); } - if (ssl->cert == NULL) - return(SSL_CTX_check_private_key(ssl->ctx)); if (ssl->cert->key->x509 == NULL) { SSLerr(SSL_F_SSL_CHECK_PRIVATE_KEY,SSL_R_NO_CERTIFICATE_ASSIGNED);