我正在尝试创建一个使用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,一切正常。
最佳答案
问题出在库的configure部分。它编译时没有ssl2或ssl3,如下所示
no-ssl2 no-ssl3
因此,sslv3无法与sslv23一起使用。
关于c - SSLv23不允许sslv3客户端连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33433134/