我正在尝试使用SSL(通过某人提供给我们的证书)来配置Tomcat 6。我的SSL经验只有几天,但是我仍然必须配置这些东西。
为我提供了DER格式的证书(从IE下载)。
接下来,我创建了一个密钥库:
keytool-导入-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-导入-别名root-文件myCA.cer -keystore b2b.keystore
然后我对MyCompany.der重新执行了keytool命令
但是我仍然遇到相同的错误,即别名无法标识键条目。
我想知道我是在配置tomcat时犯了一些根本性的错误,还是应该正常工作并且我只是犯了一个愚蠢的粗心的错误?
任何指导将不胜感激。
Tomcat需要的是证书及其私钥。证书是您任何用户都可以看到的公共信息,但是私钥应仅由您自己使用:这是防止其他人使用您的证书运行网站的原因。通过导入MyCompany.der,您仅导入证书。
MyCompany.der
您需要先找到私钥在哪里。(通常,即使将证书颁发给您的人也不应知道其私钥。)
私钥可能是在证书申请过程中在浏览器中生成的。尝试查看是否可以.p12/ .pfx(PKCS#12)格式导出:如果存在,这也应该捆绑私钥。如果是这样,您应该能够直接使用PKCS12存储类型将结果文件用作密钥存储:(keystoreFile="store.pfx" keystorePass="password" keystoreType="PKCS12"您可能不需要密钥别名,因为只有一个密钥项)。
.p12
.pfx
PKCS12
keystoreFile="store.pfx" keystorePass="password" keystoreType="PKCS12"