在java中SSLv3被禁用,但在javamail API ssl中有效?



Java 由于漏洞而禁用了 SSLv3。但是在Java邮件API中使用SSL上的SMTP服务器有效吗?为什么会这样?

SSL上的电子邮件使用 SSL/TLS 协议系列,由 Java 运行时库中的SSLSocketImpl和相关类实现。

根据您使用的Java版本,SSLSocketImpl将与远程服务器协商可接受的SSL/TLS协议版本。 Java可以支持TLSv1.3(在Java 11中(。 对 TLSv1.0 的支持已添加到更新 1111中的 Java 6

事实上,2015 年 1 月对 Java 6 及更高版本进行了更新,以默认禁用 Java 6 及更高版本中的 SSLv3 支持。 您必须设置系统属性才能启用 SSLv3。

1 - Java 6 更新 111 不公开发布。 如果您使用的是 Java 6 的最后一个公开版本,那么您只能使用不安全的 SSLv3 或更早版本。 大多数SMTP服务器不会接受这一点。 这只是升级到受支持的 Java 版本的另一个原因;即 Java 8、11 或更高版本。


但是在Java邮件API中使用SSL上的SMTP服务器有效吗?为什么会这样?

因为它没有使用SSLv3(或更早版本(;见上文。

这是另一个堆栈溢出问题的链接,我认为这个问题也可以回答这个问题。 堆栈溢出

如此链接中所述:

可以通过从 java.security 文件中的 jdk.tls.disableAlgorithms 属性中删除"SSLv3"或通过将此属性设置为 "true" 来动态激活协议。

最新更新