gpt4 book ai didi

c++ - "Wrong Version Number"错误使用 Boost ASIO & SSL (C++)

转载 作者:行者123 更新时间:2023-12-04 22:37:25 25 4
gpt4 key购买 nike

我正在尝试使用 Boost Asio 连接到服务器(用 Golang 编写)。我可以在未加密的情况下进行连接和读/写,但我似乎无法获得 SSL 支持。基本上,每当我尝试握手时,我都会收到“错误的版本号”。

这是一个片段,显示了我如何尝试设置它。我不想进行任何验证,只是让连接继续。此时代码中,客户端已连接到服务器并交换了一些未加密的命令。

boost::asio::ssl::context ctx(*ios, boost::asio::ssl::context::tlsv12_client);  //also tried sslv23, etc
ctx.set_verify_mode(boost::asio::ssl::context::verify_none);
this->sslSocket = new boost::asio::ssl::stream<boost::asio::ip::tcp::socket&>(*socket, ctx);
this->sslSocket->async_handshake(boost::asio::ssl::stream_base::client,
boost::bind(&MyConnection::handleHandshake, this,
boost::asio::placeholders::error));
&MyConnection::handleHandshake()接收握手的结果。

所以问题是:
  • 上面的代码是否完成了连接服务器通常需要做的所有事情?我错过了一步吗?
  • 是否存在可能存在的服务器端问题?我检查了 Go 代码,它确实支持 TLS 1.0/1.1/1.2 以及 SSL 2 & 3
  • 最佳答案

    我遇到了同样的问题,后来才知道我正在尝试连接到端口 80 而不是 443(SSL 端口)。通过将端口更改为 443,问题得到解决。

    关于c++ - "Wrong Version Number"错误使用 Boost ASIO & SSL (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45177901/

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