c++ - 握手失败 : certificate verify failed (Boost ASIO)

标签 c++ ssl boost boost-asio

您好,我正在尝试连接到服务器:

    argv[1] = "demo.demo.com"; // or httpbin.com
    argv[2] = "39473"; // or 80

使用类似的代码:

http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/ssl/client.cpp

我遇到的问题是:

Handshake failed: certificate verify failed

我试过这个:

boost::asio::ssl::context ctx(boost::asio::ssl::context::sslv23);
ctx.set_verify_mode(boost::asio::ssl::verify_none);
//ctx.set_default_verify_paths();

有没有办法只连接而不验证证书。

最佳答案

您可以添加一个返回 true 的验证回调:

socket_.set_verify_callback(
    boost::bind(&client::verify_certificate, this, _1, _2));

在哪里

  bool verify_certificate(bool preverified,
      boost::asio::ssl::verify_context& ctx)
  {
      return true;
  }

关于c++ - 握手失败 : certificate verify failed (Boost ASIO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31270678/

相关文章:

c++ - 在不使用 STL 的情况下构建队列队列

c++ - 模板函数中具有单个可选参数和默认值的函数

c++ - 在从 Boost 派生的类派生的类中自动禁止复制是不可复制的吗?

c++ - 解析查询与使用 IP 和端口创建端点之间的区别(在 boost asio 中)

ssl - s3 静态站点 + 云端 + SSL 不适用于非 www

PHP 和 SSL : How can I retrieve "detailed" validation results for remote site's certificate?

c++ - 将 std::function 用于 API(跨模块边界)

c++ - A类的私有(private)成员函数可以声明为B类的友元吗?

c++ - Dalvik虚拟机源码开发方法

docker - 如何使安全的 nginx-proxy 指向单个服务器中的不同路径?