[英]Has anything crucial changed regarding SSL in Tomcat between Tomcat 8 and Tomcat 9?
This is the situation summed up.这是总结的情况。
The configuration below is identical in server.xml in Tomcat 8.5.8 and Tomcat 9.0.64.下面的配置在 Tomcat 8.5.8 和 Tomcat 9.0.64 中的 server.xml 中是相同的。 The JKS-file used is created by keytool in Java 8.
使用的 JKS 文件由 Java 8 中的 keytool 创建。
Expected behaviour is that when using HTTPS in URL (mysite.org), NetID will start giving me a choice of client certificates from my card, I choose correct certificate, and give my PIN-code, then the webpage will be shown.预期的行为是,当在 URL (mysite.org) 中使用 HTTPS 时,NetID 将开始让我从我的卡中选择客户端证书,我选择正确的证书,并提供我的 PIN 码,然后将显示网页。
This works with Tomcat 8.5.8 on Java 8.这适用于 Java 8 上的 Tomcat 8.5.8。
But when starting with Tomcat 9.0.64 on Java 8 or Java 17 it throws the error:但是在 Java 8 或 Java 17 上从 Tomcat 9.0.64 开始时,它会抛出错误:
ERR_SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS ERR_SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS
Any idea why doesn't Tomcat 9 like this configuration?知道为什么 Tomcat 9 不喜欢这种配置吗?
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation"
maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLSv1.2"
keystoreFile="/srv/archive/Cert/archivelux.jks" keystorePass="xxxx"
truststoreFile="/srv/archive/Cert/archivelux.jks" truststorePass="xxxx" truststoreType="JKS"/>
Yes, something appears to have changed between Tomcat 8 and Tomcat 9.是的,Tomcat 8 和 Tomcat 9 之间似乎发生了一些变化。
The parameter sslProtocol="TLSv1.2" is accepted by Tomcat 8, but not by Tomcat 9.参数 sslProtocol="TLSv1.2" 被 Tomcat 8 接受,但不被 Tomcat 9 接受。
There the parameter must be SSLProtocol="TLSv1.2"那里的参数必须是 SSLProtocol="TLSv1.2"
Restart, and it will work.重新启动,它会工作。
/Paul /保罗
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.