![](/img/trans.png)
[英]C++ Boost asio (OpenSSL) get cipher and TLS/SSL version of active connection
[英]"Wrong Version Number" error using Boost ASIO & SSL (C++)
我正在嘗試使用 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()
接收握手的結果。
所以問題是:
我遇到了同樣的問題,后來才知道我正在嘗試連接到端口 80 而不是 443(SSL 端口)。 通過將端口更改為 443,問題得到解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.