当前位置: 首页 > 知识库问答 >
问题:

在嵌入式Jetty上启用TLS-1.2

贺雪松
2023-03-14

目前我正在使用启用TLS 1.2的代码:

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。

共有2个答案

丌官凯康
2023-03-14

是的,我刚才解决了这个问题
我们可以通过org.eclipse.jetty.util.ssl自定义它。SslContextFactory如下:

    < li >不包括TLSv1、TLSv1.1协议等。
sslContextFactory.addExcludeProtocols("TLSv1", "TLSv1.1");

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

java prettyprint-override">// org.eclipse.jetty.util.ssl.SslContextFactory#DEFAULT_EXCLUDED_PROTOCOLS
private static final String[] DEFAULT_EXCLUDED_PROTOCOLS = {"SSL", "SSLv2", "SSLv2Hello", "SSLv3"};
    sslContextFactory.setIncludeProtocols("TLSv1.2");

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

秦宜修
2023-03-14

Java 8默认是TLS/1.2。

  • https://blogs.oracle.com/java-platform-group/entry/java_8_will_use_tls

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

  • https://blogs.oracle.com/java-platform-group/entry/diagnosing_tls_ssl_and_https

如果要强制TLS/1.2,请参阅前面的答案:

如何强制java服务器只接受tls 1.2,拒绝tls 1.0和tls 1.1连接

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

 类似资料:
  • 我将从Groovy脚本中启动Jetty Web服务器。Jetty的默认日志记录是stderlog。现在我想配置这个日志记录,但文档中只提到了在使用start时如何进行配置。jar方法启动Jetty。 我如何配置,更具体地说,配置旋转日志文件,与StdErrLog嵌入式码头?

  • 我正在尝试使用嵌入式jetty最新版本(9.4.x)运行SSL。遵循以下步骤: > 创建了一个jetty.xml,其内容如下: 使用以下命令创建证书: keytool-genkey-alias jetty-keyalg rsa-keysize 1024-validity 365-keypass testpwd-keystore identity.jks-storepass testpwd keyt

  • 问题内容: 我正在编写一些示例代码,其中启动了嵌入式Jetty服务器。服务器必须仅加载一个servlet,将所有请求发送到servlet并在localhost:80上侦听 到目前为止,我的代码: 我可以用更少的代码/行做同样的事情吗?(使用Jetty 6.1.0)。 问题答案: 删除了不必要的空格,并内联移动了ServletHolder创建。删除了5行。

  • 我把头撞到墙上了。我编写了一个小型嵌入式jetty服务器(jetty 9.4.18,jersey 1.19.4),但我无法让它尊重上下文路径和部署的REST服务。 我尝试了setContextPath,但这在ServletContextHandler上不起作用,所以我使用了WebAppContext。 任何帮助都将不胜感激,因为我觉得我在这里被困在一码线上。

  • 我正在写java web应用程序的扩展。我用maven覆盖插件将这个应用程序添加到扩展中,并使用主应用程序中的web.xml文件和webapp文件夹。我还想用jetty嵌入式服务器为我的扩展编写集成测试平台。我试过了

  • 我有一个Spring Boot应用程序演示,遵循以下指南https://spring.io/guides/gs/rest-service/ PS:因为启动类不在我的bean的同一个包中,所以我显式地将@componentscan添加到我的启动类中。