From 95b83272dd56c2470d7b9dd8bd74962ef9c34422 Mon Sep 17 00:00:00 2001 From: David Garske Date: Mon, 18 Nov 2019 10:19:48 -0800 Subject: [PATCH] Implementation for `SSL_CTX_add1_chain_cert`. --- src/ssl.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index c2171691e..b228b639e 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -36807,10 +36807,15 @@ err: int wolfSSL_CTX_add1_chain_cert(WOLFSSL_CTX* ctx, WOLFSSL_X509* x509) { - /* TODO: Add X509 certificate to CertificateManager... */ - (void)ctx; - (void)x509; - return 0; + int ret; + if (ctx == NULL || x509 == NULL || x509->derCert == NULL) { + return WOLFSSL_FAILURE; + } + + ret = wolfSSL_CTX_load_verify_buffer(ctx, x509->derCert->buffer, + x509->derCert->length, WOLFSSL_FILETYPE_ASN1); + + return (ret == 0) ? WOLFSSL_SUCCESS : WOLFSSL_FAILURE; } #ifndef NO_WOLFSSL_STUB