mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 18:57:27 +02:00
Fix a seg fault when cert not loaded prior to key check
This commit is contained in:
@ -6798,7 +6798,7 @@ int wolfSSL_CTX_check_private_key(const WOLFSSL_CTX* ctx)
|
|||||||
|
|
||||||
WOLFSSL_ENTER("wolfSSL_CTX_check_private_key");
|
WOLFSSL_ENTER("wolfSSL_CTX_check_private_key");
|
||||||
|
|
||||||
if (ctx == NULL) {
|
if (ctx == NULL || ctx->certificate == NULL) {
|
||||||
return WOLFSSL_FAILURE;
|
return WOLFSSL_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20637,8 +20637,12 @@ static void test_wolfSSL_private_keys(void)
|
|||||||
#else
|
#else
|
||||||
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
|
AssertNotNull(ctx = SSL_CTX_new(wolfSSLv23_client_method()));
|
||||||
#endif
|
#endif
|
||||||
AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, WOLFSSL_FILETYPE_PEM));
|
|
||||||
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, WOLFSSL_FILETYPE_PEM));
|
AssertTrue(SSL_CTX_use_PrivateKey_file(ctx, svrKeyFile, WOLFSSL_FILETYPE_PEM));
|
||||||
|
/* Have to load a cert before you can check the private key against that
|
||||||
|
* certificates public key! */
|
||||||
|
AssertIntEQ(wolfSSL_CTX_check_private_key(ctx), WOLFSSL_FAILURE);
|
||||||
|
AssertTrue(SSL_CTX_use_certificate_file(ctx, svrCertFile, WOLFSSL_FILETYPE_PEM));
|
||||||
|
AssertIntEQ(wolfSSL_CTX_check_private_key(ctx), WOLFSSL_SUCCESS);
|
||||||
AssertNotNull(ssl = SSL_new(ctx));
|
AssertNotNull(ssl = SSL_new(ctx));
|
||||||
|
|
||||||
AssertIntEQ(wolfSSL_check_private_key(ssl), WOLFSSL_SUCCESS);
|
AssertIntEQ(wolfSSL_check_private_key(ssl), WOLFSSL_SUCCESS);
|
||||||
|
Reference in New Issue
Block a user