【发布时间】:2015-05-15 06:42:20
【问题描述】:
我已将:根证书、中间证书、服务器证书导入到适用于 Windows 的 Tomcat 的 Java 密钥库中。
这些是 VeriSign(商业)证书..
我们不能为连接器使用 keyAlias - ssl 页面永远不会出现。端口 80 或标准网络流量很好,但 ssl 不是。对此我感到好奇的是,我们的一位服务器人员确实说它的行为就像我们安装了自签名证书一样......
我们当前的 \tomcat\conf\server.xml 有:
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
protocol="org.apache.coyote.http11.Http11Protocol"
port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="C:\NewCert\keystore.ks" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"/>
有趣的是,我们看到以下错误: “本网站的安全证书有问题” 转到网页 (https://servername.domain.local:8443) - 我们请求证书为 servername.domain.local .. 因此,我们看到:“不受信任的证书” 当查看来自网站的证书与来自我们 CA 的证书时,ThumbPrint 不同。
我读到我们应该能够将根/中间/服务器证书作为一个文件 (*.p7b) 导入 - 这样做时,keytool 回复说这不是 X.509 证书。但是,我确实相信,如果我可以导入 .p7b 文件,那将是我们所需要的......
"%JAVA_HOME%\bin\keytool.exe" -import -trustcacerts -file "C:\NewCert\ap01.p7b" -keystore "C:\NewCert\keystore.ks" -alias "tomcat" -storepass "changeit"
结果消息是:
keytool error: java.lang.Exception: Input not an X.509 certificate
谢谢。
【问题讨论】:
-
p7b 是做到这一点的神奇方式。使用 Java 的 keytool 导入后,证书和链已正确对齐并且可以正常工作。
标签: tomcat ssl-certificate keytool jdk1.6