将CA证书加载到OpenSSL

将CA证书加载到OpenSSL,openssl,certificate,x509certificate,Openssl,Certificate,X509certificate,正如我们所知,在使用openssl api创建SSL连接时,我们创建了一个SSL\u CTX上下文对象,其中加载了所有证书和密钥 要设置对等验证,我们使用SSL\u CTX\u load\u verify\u位置api加载CA证书(CA存储在文件中) 但现在在我的情况下,CA不在文件中,我有一个X509*issuerCert。 现在,如何在SSL\u CTX对象中设置此issuerCert 我发现:- 在上述解决方案中,我们使用SSL\u CTX\u get\u cert\u STORE创建了

正如我们所知,在使用openssl api创建
SSL
连接时,我们创建了一个
SSL\u CTX
上下文对象,其中加载了所有证书和密钥

要设置对等验证,我们使用
SSL\u CTX\u load\u verify\u位置
api加载CA证书(CA存储在文件中)

但现在在我的情况下,CA不在文件中,我有一个
X509*issuerCert
。 现在,如何在
SSL\u CTX
对象中设置此
issuerCert

我发现:-

在上述解决方案中,我们使用
SSL\u CTX\u get\u cert\u STORE
创建了一个
X509\u STORE*
,最后在其中添加
X509*issuerCert

现在我在这里感到困惑,因为将此证书添加到
X509\u STORE*
仅将其添加到STORE中,该证书信息将如何链接到
SSL\u CTX

因为最终我们将
SSL\u CTX
传递到
SSL\u connect
,所有验证(握手)都在幕后进行。那么,CA证书信息如何 当使用
SSL\u CTX\u get\u cert\u store
而不是
SSL\u CTX\u加载\u验证\u位置

在上述解决方案中,我们使用 SSL_CTX_获取_cert_存储并最终在其中添加X509*issuerCert

您没有使用
SSL\u CTX\u get\u cert\u store
来“创建”证书存储。您将获得一个指向证书存储的指针,它是SSL_CTX的一部分。证书存储的任何更新都将反映在SSL_CTX中。请注意,API具有以下语法,将SSL_CTX作为参数:

X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *ctx);
在上述解决方案中,我们使用 SSL_CTX_获取_cert_存储并最终在其中添加X509*issuerCert

您没有使用
SSL\u CTX\u get\u cert\u store
来“创建”证书存储。您将获得一个指向证书存储的指针,它是SSL_CTX的一部分。证书存储的任何更新都将反映在SSL_CTX中。请注意,API具有以下语法,将SSL_CTX作为参数:

X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *ctx);

塔克斯。请看看你是否能在这里帮助我。请看你是否能在这里帮助我