首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何验证javax.mail.*中使用的TLS版本

如何验证javax.mail.*中使用的TLS版本
EN

Stack Overflow用户
提问于 2018-06-06 03:05:06
回答 2查看 6.9K关注 0票数 5

使用javax.mail连接到SMTP服务器时,如何确保TLS的版本为1.2或更高版本。

我使用的是Java版本8(更新162)。

EN

回答 2

Stack Overflow用户

发布于 2018-06-06 04:28:33

要确保使用的是TLS版本:

代码语言:javascript
复制
props.put("mail.smtp.ssl.protocols", "TLSv1.2");

我没有办法100%确认我正在连接v1.2,但这就是我所发现的。How to force JavaMailSenderImpl to use TLS1.2?

票数 4
EN

Stack Overflow用户

发布于 2019-08-24 09:21:12

您可以使用以下代码片段获取以空格分隔的受支持协议的列表:

代码语言:javascript
复制
String.join(" ", SSLContext.getDefault().getSupportedSSLParameters().getProtocols());

在Java8中,这将返回一个以TLSv1.2为最高版本的列表,在Java11中将返回一个以TLSv1.3为最高版本的列表。

然后只需将系统属性mail.smtp.ssl.protocols设置为该值,例如

代码语言:javascript
复制
String protocols = String.join(" ", 
    SSLContext
        .getDefault()
        .getSupportedSSLParameters()
        .getProtocols()
);

System.setProperty("mail.smtp.ssl.protocols", protocols);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50707257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档