我下载了Asio Standalone,并希望在本地计算机上运行随Asio源代码提供的ssl示例(客户端和服务器)。我设法让图书馆运行。代码编译没有错误。但我认为客户端在/ etc / ssl / certs中我的debian系统上的证书存储区读取服务器证书时出现问题。因为我收到以下错误:
握手失败:证书验证失败
到目前为止我做了什么:
我在my last post中创建了服务器证书和密钥,并将crt文件添加到/ etc / ssl / certs
我在客户端设置了verify_path,如下所示:
asio::ssl::context ctx(asio::ssl::context::tlsv11); ctx.set_default_verify_paths();
然后我得到了上面提到的错误。
我是对的,asio找到我的证书吗? (因为否则我会发现错误' file_not_found'或类似的东西)为什么证书无效?因为我是自签名的,或者因为我没有使用127.0.0.1作为“通用名称”#39;在证书?但我想客户应该在其本地证书存储中接受自签名证书......