gpt4 book ai didi

c++ - 证书错误打开ssl C

转载 作者:太空宇宙 更新时间:2023-11-04 12:07:23 30 4
gpt4 key购买 nike

我在 c 中使用 openssl 来验证证书。有什么办法可以跳过自签名证书错误吗?对于所有具有无效/过期/不匹配的 url 证书的站点,我都收到该错误,并且我无法检测到任何其他错误。

然后我使用这个函数SSL_CTX_load_verify_locations(ctx,0,CA_LIST)) 加载 CA_LIST。它到底做了什么?

最佳答案

证书链中的错误自签名证书出现,当根证书或自签名证书出现在对等方发送的证书列表中时,但它没有加载到您的信任库中。

SSL_CTX_load_verify_locations(ctx,0,CA_LIST)) 将尝试加载 CA_LIST 中提到的路径中存在的 CA。

函数原型(prototype)为 int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);

OpenSSL 帮助页面说:

“如果 CApath 不为 NULL,则它指向包含 PEM 格式的 CA 证书的目录。每个文件都包含一个 CA 证书。这些文件由 CA 主题名称哈希值查找,因此必须可用。如果存在多个具有相同名称哈希值的 CA 证书,扩展名必须不同(例如 9d66eef0.0、9d66eef0.1 等)。搜索按扩展名的顺序执行,与证书的其他属性无关。使用 c_rehash 实用程序创建必要的链接。CApath 中的证书仅在需要时查找,例如在构建证书链或实际执行对等证书验证时。”

您可以从 OpenSSL 页面获得更多信息 here .

关于c++ - 证书错误打开ssl C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11449284/

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