mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 02:37:28 +02:00
ssl.c: remove duplicate definition of wolfSSL_CTX_check_private_key().
This commit is contained in:
64
src/ssl.c
64
src/ssl.c
@ -6916,70 +6916,6 @@ int wolfSSL_CertManagerLoadCA(WOLFSSL_CERT_MANAGER* cm, const char* file,
|
||||
|
||||
#endif /* NO_FILESYSTEM */
|
||||
|
||||
|
||||
#ifndef NO_CHECK_PRIVATE_KEY
|
||||
/* Check private against public in certificate for match
|
||||
*
|
||||
* ctx WOLFSSL_CTX structure to check private key in
|
||||
*
|
||||
* Returns SSL_SUCCESS on good private key and SSL_FAILURE if miss matched. */
|
||||
int wolfSSL_CTX_check_private_key(const WOLFSSL_CTX* ctx)
|
||||
{
|
||||
#ifdef WOLFSSL_SMALL_STACK
|
||||
DecodedCert* der = NULL;
|
||||
#else
|
||||
DecodedCert der[1];
|
||||
#endif
|
||||
word32 size;
|
||||
byte* buff;
|
||||
int ret;
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_CTX_check_private_key");
|
||||
|
||||
if (ctx == NULL || ctx->certificate == NULL) {
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
|
||||
#ifndef NO_CERTS
|
||||
#ifdef WOLFSSL_SMALL_STACK
|
||||
der = (DecodedCert*)XMALLOC(sizeof(DecodedCert), NULL, DYNAMIC_TYPE_DCERT);
|
||||
if (der == NULL)
|
||||
return MEMORY_E;
|
||||
#endif
|
||||
|
||||
size = ctx->certificate->length;
|
||||
buff = ctx->certificate->buffer;
|
||||
InitDecodedCert(der, buff, size, ctx->heap);
|
||||
if (ParseCertRelative(der, CERT_TYPE, NO_VERIFY, NULL) != 0) {
|
||||
FreeDecodedCert(der);
|
||||
#ifdef WOLFSSL_SMALL_STACK
|
||||
XFREE(der, NULL, DYNAMIC_TYPE_DCERT);
|
||||
#endif
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
|
||||
size = ctx->privateKey->length;
|
||||
buff = ctx->privateKey->buffer;
|
||||
ret = wc_CheckPrivateKey(buff, size, der);
|
||||
FreeDecodedCert(der);
|
||||
#ifdef WOLFSSL_SMALL_STACK
|
||||
XFREE(der, NULL, DYNAMIC_TYPE_DCERT);
|
||||
#endif
|
||||
|
||||
if (ret == 1) {
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
else {
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
#else
|
||||
WOLFSSL_MSG("NO_CERTS is defined, can not check private key");
|
||||
return WOLFSSL_FAILURE;
|
||||
#endif
|
||||
}
|
||||
#endif /* !NO_CHECK_PRIVATE_KEY */
|
||||
|
||||
|
||||
#ifdef HAVE_CRL
|
||||
|
||||
/* check CRL if enabled, WOLFSSL_SUCCESS */
|
||||
|
Reference in New Issue
Block a user