我们收到了报告称
我了解到自2021年4月起,Java实现已禁用TLSv1.1和TLSv1,但当我尝试使用此修复方法时,我发现这将禁用TLSv1.3(即使我通过
当我使用
对我来说,这是出乎意料的。对我来说,这将是一种“算法降级”。
文档只表示“可能支持其他SSL/TLS版本”,因此当我指定“TLSv1.3”时,我不能期望回退到“TLSv1.2”能够工作,对吗?
尽管看起来
那么,实现服务器端可能支持TLSv1.2或TSLv1.3或两者的SSL连接的正确方法是什么(并且不会报告漏洞)?
问候, Andreas
SSLContext.getInstance("TLS")
存在漏洞。推荐的修复方法是使用 SSLContext.getInstance("TLSv1.2")
。我了解到自2021年4月起,Java实现已禁用TLSv1.1和TLSv1,但当我尝试使用此修复方法时,我发现这将禁用TLSv1.3(即使我通过
sslSocket.setEnabledProtocols(protocols)
添加它)。当我使用
SSLContext.getInstance("TLSv1.3")
时,sslSocket.getEnabledProtocols()
返回TLSv1.3和TLSv1.2,如果服务器端仅支持TLSv1.2,则建立连接。对我来说,这是出乎意料的。对我来说,这将是一种“算法降级”。
文档只表示“可能支持其他SSL/TLS版本”,因此当我指定“TLSv1.3”时,我不能期望回退到“TLSv1.2”能够工作,对吗?
尽管看起来
SSLContext.getInstance
参数是支持的最高TLS版本。那么,实现服务器端可能支持TLSv1.2或TSLv1.3或两者的SSL连接的正确方法是什么(并且不会报告漏洞)?
问候, Andreas