Tomcat 9密钥库密码无效

Tomcat 9 invalid keystore password(Tomcat 9密钥库密码无效)

本文介绍了Tomcat 9密钥库密码无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试在Tomcat 9中使用Windows 10中的JDK10设置SSL。当我按照在线教程使用默认密码‘changeit’创建Java密钥库时,一切运行正常,Tomcat启动时没有错误。 但是,如果我使用不同于‘changeit’的密钥库密码创建密钥库,Tomcat会抛出这个错误:
Caused by: java.lang.IllegalArgumentException: keystore password was incorrect

这是创建密钥库的命令:

keytool -genkey -alias tomcat -keyalg RSA -keystore c:certificates	omcatkeystore

这是工作正常的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命令从来不会像许多在线示例所显示的那样提示我输入‘key password’。使用默认‘changeit’密码以外的密码时,是否需要不同的keyTool命令?

谢谢。

推荐答案

好的,我能够解决这个问题。我的问题是我使用了错误的连接器属性来指定密钥库密码。在我的示例中,我使用的是";keystorepass";,正确的keystorepass应该是";certificateKeystorePassword";。也许我在日志中遗漏了这一点,但Tomcat似乎没有抛出一个适当的错误,如‘Bad Attribute for Connector’,这将是有用的。

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

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

这篇关于Tomcat 9密钥库密码无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Tomcat 9密钥库密码无效

基础教程推荐