目前,我使用的代码是启用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。
发布于 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所知道的没有需要协商的密码)
发布于 2022-04-19 08:07:21
是的,我刚刚解决了这个问题。
我们可以通过org.eclipse.jetty.util.ssl.SslContextFactory定制它,如下所示:
sslContextFactory.addExcludeProtocols("TLSv1", "TLSv1.1");顺便说一下,我的Jetty版本是9.4.45,默认协议(“SSL”、"SSLv2“、"SSLv2Hello”、"SSLv3")已经被jetty排除在外。
// 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方法中看到所选择的最终协议,您可以自己调试。
https://stackoverflow.com/questions/43287071
复制相似问题