SSLv23 不允许 sslv3 客户端连接

SSLv23 does not allow sslv3 clients to connect

我正在尝试创建一个使用 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 一切正常。

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

no-ssl2 no-ssl3

因此 sslv3 不适用于 sslv23。