SSLv23不允许sslv3客户端连接

时间:2015-10-30 09:55:55

标签: c ssl curl openssl

我正在尝试创建一个使用ssl上下文的https服务器。对于TLS客户端的此代码,一切正常

 ssl_ctx = SSL_CTX_new(SSLv23_server_method());

    long options = SSL_OP_ALL |SSL_OP_NO_SSLv2 |SSL_OP_NO_SSLv3;

这有效地禁用了sslv2和sslv3并启用了某些错误修复。

我想保持禁用sslv3部分可选。但是删除SSL_OP_NO_SSLv3仍然不能使sslv3正常工作。

 ssl_ctx = SSL_CTX_new(SSLv23_server_method());

    long options = SSL_OP_ALL |SSL_OP_NO_SSLv2 ; // SSLV3 still does not work

我使用curl作为客户端:

curl -vk --sslv3 "https://IP/hello_world"

* Server aborted the SSL handshake
* Closing connection 0

对于非sslv3,一切正常。

1 个答案:

答案 0 :(得分:0)

问题出在库的配置部分。它编译时没有ssl2或ssl3,如下所示

  

no-ssl2 no-ssl3

因此sslv3不适用于sslv23。