TLSv1 dosnt可以启用sslv2

我正在使用Apache 2.2.4版本。 我已经知道这个版本只支持SSLv2,SSLv3和TLSv1.0,但是当我使用它时会发生一些奇怪的事情:

当SSLv2被禁用时,networking浏览器(在我的情况下是Internet Explorer)使用SSLv3

SSL 3.0,带有168位encryption的3DES(高); 与2048位交换的RSA。

当我启用SSLv2时,Web浏览器使用TLSv1.0:

TLS 1.0,具有256位encryption的AES(高); 与2048位交换的RSA

最后,当我禁用两个协议(SSLv2和V3),网页根本不加载!

我使用Apache的这个configuration:

SSLProtocol all SSLCipherSuite all 

你能为我解释一下吗? 如何在不启用SSLv2的情况下使用TLSv1.0?

此行为是由TLS v1 RFC( RFC 2246,“E.与SSL的向后兼容性” )中的原始规范引起的。

基本上这个RFC规定大多数服务器不会为不同版本的SSL / TLS使用不同的监听端口。 因此,为确保向后兼容,build议首先使用“旧”SSL hello消息启动连接,然后在双方都支持的情况下将连接升级到TLS,并且不要尝试直接使用TLSbuild立连接(“TLS 1.0支持SSL 2.0版服务器的客户端必须发送SSL 2.0版客户端问候消息“)。

以前的Java版本(JRE5)曾经有过这种行为,现在用新版本改进,现在直接处理TLS握手。 也许你应该检查你的浏览器版本和补丁级别,并检查此行为是否在浏览器端禁用SSLv2后仍然存在。