gpt4 book ai didi

c++ - SSL_connect 和 SSL_ERROR_SYSCALL

转载 作者:搜寻专家 更新时间:2023-10-30 23:59:39 25 4
gpt4 key购买 nike

SSL_connect() 是否支持 ssl v3?我问这个的原因是,在访问网站时:

https://secure53.onlineaccess1.com

我得到 SSL_connect(ssl) 的返回值为 <0,SSL_get_error() 为 5,ERR_get_error() 为 0。所以我找到了最终结果因为 SSL_get_error() 是 5,

SSL_ERROR_SYSCALL

Some I/O error occurred. The OpenSSL error queue may contain more information on the error. If the error queue is empty (i.e. ERR_get_error() returns 0), ret can be used to find out more about the error: If ret == 0, an EOF was observed that violates the protocol. If ret == -1, the underlying BIO reported an I/O error (for socket I/O on Unix systems, consult errno for details).

并且由于 ERR_get_error() 返回 0,这意味着观察到违反协议(protocol)的 EOF。

但这是否意味着它不支持sslv3?

我在命令行中使用 curl 尝试了 url,我不得不强制 v3 让它像这样工作:

curl -3 -v https://secure53.onlineaccess1.com

有没有办法解决这个错误?

最佳答案

我正在使用 SSLv23_method() 来启动连接。但我最好的猜测是服务器不理解 sslv2。由于此方法将发送 SSLv2 客户端问候消息并表明它也理解 SSLv3 和 TLSv1,因此服务器不理解我想要什么并使用 EOF 关闭连接.

所以我尝试使用 SSLv3_method() 连接到这个服务器并且成功了。所以我现在正在做的是尝试与 SSLv23_method() 连接,如果它失败并返回 SSL_ERROR_SYSCALL for SSL_get_error()0 对于 ERR_get_error(),我只是重置连接并使用 SSLv3_method() 重新开始。这不是最好的方法,我知道。但它有效。

关于c++ - SSL_connect 和 SSL_ERROR_SYSCALL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15525344/

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