Add wolfSSL_CertManagerLoadCABuffer_ex()

Also add unit tests.
This commit is contained in:
Anthony Hu
2023-01-04 13:44:12 -05:00
parent adb406e1ee
commit 5de817b0c1
3 changed files with 126 additions and 6 deletions
+15 -5
View File
@@ -7113,14 +7113,14 @@ static WC_INLINE WOLFSSL_METHOD* cm_pick_method(void)
}
/* like load verify locations, 1 for success, < 0 for error */
int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER* cm,
const unsigned char* in, long sz, int format)
int wolfSSL_CertManagerLoadCABuffer_ex(WOLFSSL_CERT_MANAGER* cm,
const unsigned char* in, long sz,
int format, int userChain, word32 flags)
{
int ret = WOLFSSL_FATAL_ERROR;
WOLFSSL_CTX* tmp;
WOLFSSL_ENTER("wolfSSL_CertManagerLoadCABuffer");
WOLFSSL_ENTER("wolfSSL_CertManagerLoadCABuffer_ex");
if (cm == NULL) {
WOLFSSL_MSG("No CertManager error");
@@ -7137,7 +7137,8 @@ int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER* cm,
wolfSSL_CertManagerFree(tmp->cm);
tmp->cm = cm;
ret = wolfSSL_CTX_load_verify_buffer(tmp, in, sz, format);
ret = wolfSSL_CTX_load_verify_buffer_ex(tmp, in, sz, format,
userChain, flags);
/* don't loose our good one */
tmp->cm = NULL;
@@ -7146,6 +7147,15 @@ int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER* cm,
return ret;
}
/* like load verify locations, 1 for success, < 0 for error */
int wolfSSL_CertManagerLoadCABuffer(WOLFSSL_CERT_MANAGER* cm,
const unsigned char* in, long sz,
int format)
{
return wolfSSL_CertManagerLoadCABuffer_ex(cm, in, sz, format, 0,
WOLFSSL_LOAD_VERIFY_DEFAULT_FLAGS);
}
#ifdef HAVE_CRL
int wolfSSL_CertManagerLoadCRLBuffer(WOLFSSL_CERT_MANAGER* cm,