gpt4 book ai didi

java - Tomcat 9 keystore 密码无效

转载 作者:行者123 更新时间:2023-11-28 22:16:03 26 4
gpt4 key购买 nike

尝试在 Windows 10 中使用 JDK10 在 Tomcat 9 中设置 SSL。当我按照在线教程使用默认密码“changeit”创建 Java keystore 时,一切正常,Tomcat 启动时没有错误。但是,如果我使用“changeit”以外的不同 keystore 密码创建 keystore ,tomcat 会抛出此错误:

Caused by: java.lang.IllegalArgumentException: keystore password was incorrect

这是创建 keystore 的命令:

keytool -genkey -alias tomcat -keyalg RSA -keystore c:\certificates\tomcatkeystore

这是有效的 SSL 连接器。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="C:/certificates/tomcatkeystore"
type="RSA" clientAuth="false" sslProtocol="TLS" keystorePass="changeit" />
</SSLHostConfig>
</Connector>

SSL 连接器不起作用。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="C:/certificates/tomcatkeystore"
type="RSA" clientAuth="false" sslProtocol="TLS" keystorePass="testing" />
</SSLHostConfig>
</Connector>

为什么如果我按照与上面完全相同的步骤但更改为不同的 keystore 密码并在 server.xml 中指定它会生成上述 Tomcat 错误?

注意:我在这两种情况下都注意到的一件事是,keytool 命令从不提示我输入“ key 密码”,就像许多在线示例所显示的那样。除了默认的“changeit”密码外,我还需要其他 keytool 命令吗?

谢谢。

最佳答案

好的,我能够解决这个问题。我的问题是我使用了错误的连接器属性来指定 keystore 密码。在我的示例中,我使用的是“keystorepass”,正确的应该是“certificateKeystorePassword”。也许我在日志中遗漏了它,但 Tomcat 似乎没有抛出适当的错误,例如“连接器的错误属性”,这本来很有用。

似乎 Tomcat 有不同的连接器,所以必须使用正确的连接器:

https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support

关于java - Tomcat 9 keystore 密码无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51680108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com