无法为Tomcat创建密钥库,证书和CA证书链长度为1

时间:2014-03-13 20:43:04

标签: tomcat ssl openssl ssl-certificate keystore

我无法从使用Tomcat的RapidSSL获得我的证书,但是在Apache上。

RapidSSL要求您安装2个中间ca文件。

当我从私钥,证书和中间CA创建密钥库时:我可以看到

Entry type: PrivateKeyEntry
Certificate chain length: 1

这两个中间证书似乎没有被拿起或类似的东西。

我有

我可以使用以下设置在Apache服务器上运行它:

SSLCertificateFile /root/ssl_certs/rapidssl.crt
SSLCertificateKeyFile /root/ssl_certs/privatekey.key
SSLCACertificateFile /root/ssl_certs/intermediate.crt

我听说过一种称为根证书的东西,我不知道那是什么。那是我需要的吗?

我听说Tomcat应该能够使用PKCS12所以我这样做是为了尝试创建一个pkcs12文件:

openssl pkcs12 -export -in rapidssl.crt -inkey privatekey.key -out mycert.p12 -name tomcat -CAfile intermediate.crt -caname root -chain

但是我收到了错误

Error unable to get local issuer certificate getting chain.

intermediate.crt中包含主要和辅助CA:

2 个答案:

答案 0 :(得分:2)

尝试使用Portecle导入所有内容。我自己还没有使用它,但是如果你使用像Portecle这样的工具,Java Keystores的完全混乱显然更易于管理。

如果您希望从Tomcat获得更好的性能而不打算将您的密钥,证书等合并到一个二进制球中,请考虑使用Tomcat的APR connector。您可以使用已经与Apache httpd一起使用的相同证书和密钥文件,并且您将获得更好的加密性能。

答案 1 :(得分:0)

什么是根证书?它是证书链中的顶级证书,通常由证书颁发机构颁发。它用于签署其他证书以签署其他证书,直到用于签署您的证书。使用您的证书的软件必须信任根证书。它可以通过操作系统(或java)信任证书颁发机构,也可以通过特定软件(如apache或本地密钥库)信任它来完成​​。