我使用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)
答案 0 :(得分:1)
如果要将 server.cert 文件导入jre lib中可用的 cacerts 文件,可以按如下所示修改命令并尝试。
keytool -import -alias tomcat -keystore%JAVA_HOME%/ jre / lib / security / cacerts -keypass changeit -file server.cert
一旦给出,它将询问密钥库密码并重新输入密码。然后给出肯定以确认信任该证书文件。
它适用于我。