尝试在 Windows 10 中使用 JDK10 在 Tomcat 9 中设置 SSL。当我按照在线教程使用默认密码“changeit”创建 Java 密钥库时,一切正常,Tomcat 启动时没有错误。但是,如果我使用“changeit”以外的其他密钥库密码创建密钥库,tomcat 会抛出此错误:
Caused by: java.lang.IllegalArgumentException: keystore password was incorrect
这是创建密钥库的命令:
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>
为什么如果我按照与上述完全相同的步骤但更改为不同的密钥库密码并在 server.xml 中指定它会生成上述 Tomcat 错误?
注意:在这两种情况下我注意到的一件事是 keytool 命令从不提示我输入“密钥密码”,就像许多在线示例显示的那样。使用默认的“changeit”密码以外的其他 keytool 命令吗?
谢谢。