我正在尝试使用SSL配置Tomcat 6并提供给我们的证书(由某人) . 我的SSL体验只有几天,但我仍然必须配置这个令人讨厌的东西 .
我获得了DER格式的证书(从IE下载) .
接下来我创建了一个密钥库:
keytool -import -alias btIEgen -file MyCompany.der -keystore b2b.keystore
说我用“密码”作为密码
我在SSL部分的Tomcat的server.xml中配置了它:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="webapps/b2b.keystore" keystorePass="password" keyAlias="btIEgen"
clientAuth="false" sslProtocol="TLS" />
在启动Tomcat时,我得到了错误 .
然后我在b2b.keystore上做了一个keytool -list,并注意到别名是全部小写的,所以在更新server.xml并重新启动之后,我仍然得到相同的错误,但对于小写别名 .
然后我想,也许我需要一个根CA.所以我重新创建了b2b.keystore,如下所示:
keytool -import -alias root -file myCA.cer -keystore b2b.keystore
然后我针对MyCompany.der重新执行了我的keytool命令
但我仍然得到相同的错误,别名不识别键入口 .
我想知道我是否在配置tomcat时遇到了一些根本性的错误,或者这个东西应该有效吗?我只是犯了一个愚蠢的粗心错误?
任何指导将不胜感激 .
1 回答
Tomcat需要的是证书及其私钥 . 证书是您的任何用户都可以看到的公共信息,但私钥应该只属于您自己:这是阻止他人使用您的证书运行网站的原因 . 通过导入
MyCompany.der
,您只需导入证书 .您需要找到私钥首先在哪里 . (通常情况下,即使向您颁发证书的人也不应该知道其私钥 . )
在证书申请过程中,您的浏览器中可能已生成私钥 . 尝试查看是否可以以
.p12
/.pfx
(PKCS#12)格式导出:如果它存在,这应该捆绑私钥 . 如果是这样,您应该能够使用PKCS12
store类型直接将生成的文件用作密钥库:keystoreFile="store.pfx" keystorePass="password" keystoreType="PKCS12"
(您可能不需要密钥别名,因为只有一个密钥条目) .