首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在嵌入式Jetty上启用TLS-1.2

在嵌入式Jetty上启用TLS-1.2
EN

Stack Overflow用户
提问于 2017-04-07 21:04:47
回答 2查看 10K关注 0票数 4

目前,我使用的代码是启用TLS 1.2的代码:

代码语言:javascript
复制
ServerConnector httpsConnector = new ServerConnector(server, 
       new SslConnectionFactory(sslContextFactory, "http/1.1"),
       new HttpConnectionFactory(https_config));
httpsConnector.setPort(8443);
httpsConnector.setIdleTimeout(50000)

现在我正在使用TLS 1.1,并希望将其更改为TLS 1.2。

EN

回答 2

Stack Overflow用户

发布于 2017-04-17 22:49:54

默认情况下,Java 8是TLS/1.2。

您可以使用以下技术来诊断JVM中的TLS:

如果要强制执行TLS/1.2,请参见前面的答复:

How to force java server to accept only tls 1.2 and reject tls 1.0 and tls 1.1 connections

要知道,您在Jetty的SslContextFactory中公开的密码和协议也会对您的TLS支持级别产生影响。(例如:您可以排除TLS/1.0所知道的没有需要协商的密码)

票数 4
EN

Stack Overflow用户

发布于 2022-04-19 08:07:21

是的,我刚刚解决了这个问题。

我们可以通过org.eclipse.jetty.util.ssl.SslContextFactory定制它,如下所示:

  1. 排除TLSv1 1、TLSv1.1协议等。
代码语言:javascript
复制
sslContextFactory.addExcludeProtocols("TLSv1", "TLSv1.1");

顺便说一下,我的Jetty版本是9.4.45,默认协议(“SSL”、"SSLv2“、"SSLv2Hello”、"SSLv3")已经被jetty排除在外。

代码语言:javascript
复制
// org.eclipse.jetty.util.ssl.SslContextFactory#DEFAULT_EXCLUDED_PROTOCOLS
private static final String[] DEFAULT_EXCLUDED_PROTOCOLS = {"SSL", "SSLv2", "SSLv2Hello", "SSLv3"};
  1. 只包括TLSv1.2协议(一些协议等等)
代码语言:javascript
复制
    sslContextFactory.setIncludeProtocols("TLSv1.2");

您可以在org.eclipse.jetty.util.ssl.SslContextFactory#selectProtocols方法中看到所选择的最终协议,您可以自己调试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43287071

复制
相关文章

相似问题

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