2012-01-10 42 views
20

我试图用提供给我们(由某人)提供给我们的证书使用SSL来配置Tomcat 6。我的SSL体验只有几天,但我仍然需要配置补丁。TOMCAT SSL错误:别名不能识别密钥条目

我以DER格式提供了证书(从IE下载)。

接下来我创建了一个密钥库:

 
keytool -import -alias btIEgen -file MyCompany.der -keystore b2b.keystore 

说我用 “密码” 的密码

我这个配置在Tomcat中的server.xml中SSL部分:

<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 

然后我重新执行我的keytool命令对MyCompany.der

但我仍然得到同样的错误,该别名不标识键输入。

我想知道如果我在配置tomcat时发生了一些根本性错误,或者应该这样做,我只是在做一个愚蠢的粗心错误?

任何指导将不胜感激。

回答

25

Tomcat需要的是证书及其私钥。证书是您的任何用户都可以看到的公共信息,但是私钥只能是您的私钥:这是防止他人使用您的证书运行网站的原因。通过导入MyCompany.der,您只需导入证书。

你需要找到你的私钥在哪里。 (通常,即使是向您颁发证书的人也不应该知道其私钥)。

在证书申请过程中,您的浏览器中可能已生成私钥。试着看看你是否可以在.p12/.pfx(PKCS#12)格式中导出:如果它在那里,它也应该捆绑私钥。如果是这样,您应该能够直接使用PKCS12商店类型(因为只有一个密钥条目,您可能不需要密钥别名)将结果文件用作密钥存储库。

+0

工作就像一个魅力!我将证书复制到TOMCAT_HOME目录并修改server.xml,如下所示: udeleng 2012-01-10 12:40:16

+2

谢谢你,有同样的问题。 .pfx证书改变了这一切:-) – Tony 2012-08-28 15:15:52

+2

删除keyAlias行是我的解决方案。负责我们证书的人没有像过去那样为密钥证书对指定别名。 – Banjer 2013-04-01 16:26:00