org.apache.catalina.LifecycleException:无法初始化组件[Connector [HTTP / 1.1-8443]]

时间:2015-01-18 12:26:24

标签: java ssl tomcat7 keystore

我使用apach tomcat 7

我使用这种命令来使用ssl

keytool -genkey -alias tomcat -keypass changeit -keyalg RSA

keytool -export -alias tomcat -keypass changeit -file server.cert 

keytool -import -alias tomcat -file %FILE_NAME% -keypass changeit -keystore %JAVA_HOME%/jre/lib/security/cacerts

在tomcat服务器的web.xml中

我添加此代码:

 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="C:\key\server.cert"
               keystorePass="changeit"
               />

但是当我尝试启动服务器时出现此错误:

SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8443"]
java.io.IOException: Invalid keystore format
    at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source)

1 个答案:

答案 0 :(得分:1)

如果要将 server.cert 文件导入jre lib中可用的 cacerts 文件,可以按如下所示修改命令并尝试。

keytool -import -alias tomcat -keystore%JAVA_HOME%/ jre / lib / security / cacerts -keypass changeit -file server.cert

一旦给出,它将询问密钥库密码并重新输入密码。然后给出肯定以确认信任该证书文件。

它适用于我。