gpt4 book ai didi

c++ - boost::asio::ssl::context::add_verify_path

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:11:25 25 4
gpt4 key购买 nike

我想验证服务器的证书。我有一个 boost::asio::ssl::context

这成功验证了证书:

context.load_verify_file("E:\\a\\windows\\Path\\to\\certificate\\9207bca9.0");

但是,我不想明确指定用于验证证书的文件。我希望能够将它们放在一个目录中,并告诉上下文使用该文件夹中的文件来验证证书。所以我改为这样做:

context.add_verify_path("E:\\a\\windows\\Path\\to\\certificate");

验证不成功

注意:文件名9207bca9.0:9207bca9是CA证书主题的hash,扩展名是'.0'以满足这里的add_verify_path方法的要求(也是这个文件的唯一内容是根证书。请记住,我已成功使用此文件验证证书):

http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/reference/ssl__context/add_verify_path/overload1.html

有什么建议吗?

最佳答案

我能想到的只有两种可能,第一种是你的hash值不对,可以这样验证:

openssl x509 -noout -hash -in ca-certificate-file

第二个是您的目录配置中存在一些错误,导致 OpenSSL 无法使用 CA 目录,例如,权限和所有权在 Linux 系统上很重要,不确定这些在 Windows 平台上的重要程度。查明此类错误的唯一方法是通过调试器跟踪验证阶段,并在扫描目录时直接观察代码。

关于c++ - boost::asio::ssl::context::add_verify_path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15936668/

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