首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat 9密钥库口令无效

Tomcat 9密钥库口令无效
EN

Stack Overflow用户
提问于 2018-08-04 05:10:15
回答 1查看 5.7K关注 0票数 5

尝试在Tomcat9中使用Windows10中的JDK10设置SSL。当我按照在线教程使用默认密码'changeit‘创建一个Java keystore时,一切运行正常,Tomcat启动时没有错误。但是如果我使用不同于'changeit‘的密钥库密码创建密钥库,tomcat会抛出这个错误:

代码语言:javascript
复制
Caused by: java.lang.IllegalArgumentException: keystore password was incorrect

以下是创建密钥库的命令:

代码语言:javascript
复制
keytool -genkey -alias tomcat -keyalg RSA -keystore c:\certificates\tomcatkeystore

这是工作的SSL连接器。

代码语言:javascript
复制
<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连接器无法正常工作。

代码语言:javascript
复制
<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命令?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-08-06 02:16:46

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

看起来Tomcat有不同的连接器,所以必须使用正确的连接器:

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51680108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档