gpt4 book ai didi

c++ - x509_store_add_cert 和 ssl_ctx_use_certificate 之间的区别?

转载 作者:行者123 更新时间:2023-11-28 01:14:17 26 4
gpt4 key购买 nike

我正在尝试将多个证书加载到 SSL_CTX 中。

查看文档,我能够使用这两种方式建立 SSL 连接:

  1. 创建 X509_STORE,将证书添加到存储,然后使用 SSL_CTX_set_cert_store 将证书存储加载到 SSL_CTX。
  2. 多次调用 SSL_CTX_use_certificate(ctx, cert)

这两者有区别吗?我在 StackOverflow 某处看到 SSL_CTX_use_certificate 不适用于自签名证书? ( Loading CA certificate from memory ) 为什么?我在任何地方的文档中都看不到这一点。 (自签名是什么意思?)

*对于#2,多次调用 SSL_CTX_use_certificate 是否会替换现有证书?我需要调用 SSL_CTX_add_extra_chain_cert 吗?

最佳答案

X509_STORE 用于在证书验证期间构建证书信任链。因此,在验证对等证书时,将使用 X509_STORE_add_cert 添加的任何证书。

SSL_CTX_use_certificate 用于针对对等方设置用于身份验证的本地证书,即,这是在服务器上设置服务器证书,在服务器上设置客户端证书客户。它必须附带一个设置私钥的函数,如 SSL_CTX_use_PrivateKeySSL_CTX_use_certificate 可以多次调用,并且将替换现有证书或添加另一个证书:即一个人可能同时拥有 RSA 和 ECDSA 证书以及较新版本的 OpenSSL。

SSL_CTX_use_certificate does not work with self signed certs?

OpenSSL 在使用 SSL_CTX_use_certificate 时不关心证书是否是自签名的。接收证书作为身份验证的通信对等方希望会关心并可能会提示,因为没有找到本地信任 anchor 来验证证书。

关于c++ - x509_store_add_cert 和 ssl_ctx_use_certificate 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59216443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com