在 java 中禁用了 SSLv3 但在 javamail API 中 ssl 有效吗?

In java SSLv3 is disabled but in javamail API ssl works?

Java 由于 vulnerability.But 在 java 邮件中禁用了 SSLv3 API 使用 SMTP 服务器通过 SSL 有效吗?。为什么会这样?

这是另一个堆栈溢出问题的 link,我认为它也能回答这个问题。

如本文所述link:

the protocol can be reactivated by removing “SSLv3” from the jdk.tls.disableAlgorithms property in the java.security file or dynamically by setting this property to “true”.

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

根据您使用的 Java 版本,SSLSocketImpl 将与远程服务器协商可接受的 SSL/TLS 协议版本。 Java 最高可支持 TLSv1.3(在 Java 11 中)。更新 1111

中的 Java 6 添加了对 TLSv1.0 的支持

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

1 - Java 6 更新 111 不 public 可用。如果您使用的是 Java 6 的最后一个 public 版本,您将不得不使用不安全的 SSLv3 或更早版本。大多数 SMTP 服务器不会接受。这只是升级到 Java 受支持版本的又一个原因;即 Java 8、11 或更高版本。


But in java mail API using an SMTP server over SSL works?. Why is that so?

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