0

由于漏洞,Java 禁用了 SSLv3。但是在 java 邮件 API 中使用 SMTP 服务器通过 SSL 工作?为什么呢?

4

2 回答 2

2

SSLSocketImpl基于 SSL 的电子邮件使用Java 运行时库中的相关类实现的 SSL/TLS 协议族。

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

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

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


但是在使用 SSL 上的 SMTP 服务器的 java 邮件 API 中有效吗?为什么呢?

因为它没有使用 SSLv3(或更早版本);往上看。

于 2019-08-08T09:48:16.973 回答
1

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

如此链接中所述:

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

于 2019-08-08T09:32:14.700 回答