有没有办法在openssl级别禁用某些密码和协议?

在应用程序级别上,有时候没有(简单的)方式来禁用SSLv2等。在openssl级别(当然对于使用openssl共享库的应用程序)呢?

一般来说,可以在不支持SSLv2的情况下编译OpenSSL ,但是您可能需要重新编译大部分(如果不是全部的话)依赖它的应用程序。 我相信Ubuntu的人做类似的事情 。 如果您认为要这样做,只需要修补您的应用程序以使用SSLv3TLSv1可能会更简单。

根据这个博客文章,您的其他选项是特定于应用程序的configuration(如果您的应用程序支持它)或使用stunnel

除此之外,我不知道有任何其他选项来禁用特定的SSL版本或algorithm。

我使用apacheconfiguration来实现:在我的VirtualHost中,这个代码只启用了SSL3,但是禁用了TLS和SSL2。

SSLEngine on SSLProtocol -all +SSLv3 SSLCipherSuite SSLv3:+HIGH:+MEDIUM:+LOW:+EXP SSLCertificateFile /usr/local/etc/apache22/ssl/my.pem SSLCertificateKeyFile /usr/local/etc/apache22/ssl/my.key