【发布时间】:2017-05-09 20:33:44
【问题描述】:
我正在我的 ubuntu tomcat 服务器上安装 JKS 证书。我已经搜索过,但仍然无法解决。浏览器可以连接到tomcat 8080,但它不是通过HTTPS传输的。
我使用命令keytool -importkeystore -srckeystore **.pfx -destkeystore **.jks -srcstoretype PKCS12 -deststoretype JKS 将PFX 转换为JKS 格式。
conf/server.xml 是:
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/home/hel/key/my.jks"
keystorePass="***"
keyAlias="***"
clientAuth="false" sslProtocol="TLS" />
添加:
同时,我尝试了另一种配置(但输出相同的异常):
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/home/hel/key/***.pfx"
keystoreType="PKCS12"
keystorePass="***"
keyAlias="***"
clientAuth="false" sslProtocol="TLS" />
/home/hel/key目录下有四个文件:.key,.pem,.pfx,.jks。
添加:
我把certificateKeyAlias="***"改成了keyAlias="***",异常消失了。但是8443端口还是连接不上,8080也没有HTTPS传输。我怎样才能检查它? netstat 表示端口 8080 和 8443 确实在监听。
localhost.log
信息 [localhost-startStop-2] org.apache.catalina.core.ApplicationContext.log 会话监听器: contextDestroyed() 信息 [localhost-startStop-2] org.apache.catalina.core.ApplicationContext.log ContextListener: contextDestroyed() 信息 [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized() 信息 [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log 会话监听器: contextInitialized()
localhost_access_log.txt
“GET /Beer-v1/HTTP/1.1”304 -
“GET /Beer-v1/css/a.css HTTP/1.1”304 -
catalina.log
NG tomcat.util.digester.SetPropertiesRule.begin [SetPropertiesRule]{Server/Service/Engine/Realm} 设置属性 'digest' to 'MD5' 没有找到匹配的属性。
NG tomcat.util.digester.Digester.endElement 没有找到匹配的规则 “服务器/服务/引擎/资源”。
已添加
我下载了一个干净的 tomcat 9 副本,并在原始 conf/server.xml 中添加了代码。在 catalina.out java.security.UnrecoverableKeyException: Cannot recover key 发生。
<Connector
port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443"
scheme="https"
secure="true"
SSLEnabled="true"
sslProtocol="TLS"
keystoreFile="conf/***.jks"
keystorePass="***"
keystoreType="JKS"
clientAuth="false"
/>
【问题讨论】:
-
你能发布更多的堆栈跟踪吗?实际错误在某处的
caused by部分中。