我们在使SSL证书正常运行方面遇到了很多麻烦。
我们通过首先创建pkcs12文件并将其导出到java密钥库,从现有密钥和证书生成密钥库(使用多个源)。
现在,Thawte要求您安装2个中间ca文件。如果我检查我们的密钥库,那么所有三个(2个中间体和我们自己的密码库)都存在。 Tomcat正常启动,但在访问该站点(并使用verisign ssl检查程序)时,未获取两个中间证书。
如果有人有更多从Thawte安装证书的经验,我们将不胜感激。我们可以使用以下文件。遗憾的是,我们没有用于创建CSR的原始密钥库,但我们确实拥有私钥。
另外,我们使用没有apache的tomcat 7.0.27。
谢谢!
答案 0 :(得分:2)
我回答了你的another question,那里的片段也应该有助于解决这个问题。
有一点需要注意,要将完整的证书链添加到PKCS#12密钥库,您必须连接所有中间PEM文件,如下所示:
cat specific_ca.pem general_ca.pem root_ca.pem > ca_chain.pem
并指定-CAfile ca_chain.pem
并多次指定-caname
- 为链中的每个证书设置一次,以便它们出现在ca_chain.pem
文件中。
DER到PEM转换以防万一:
openssl x509 -in cert.der -inform der -outform pem -out cert.pem
答案 1 :(得分:1)
只是为了澄清,因为我在阅读这些提示之后不确定如何处理它 - 我已将所有证书和私钥放入PKCS12密钥库,然后将Tomcat配置为使用该密钥库而不是默认JKS。它对JKS没有用 - keytool只从PKCS12文件导入私钥和我的站点证书,但缺少中间证书。
我使用的命令:
openssl pkcs12 -export -in mycert.crt -inkey my-key.key -out server.p12 -name site.com -caname intermediate -chain -CAfile intermediate.crt
在server.xml文件中我添加了
keystoreType="PKCS12"
在连接器定义中。
现在,我使用先前生成的密钥,证书和中间证书,通过https提供Tomcat 7内容。在我的情况下,它只是RapidSSL的一个中间证书。
答案 2 :(得分:0)
似乎我们让它正常工作的唯一方法是撤销旧证书并使用新的CSR进行更新。
答案 3 :(得分:0)
我遇到了与#34;证书链长度相同的问题"作为" 1",我刚刚开始尝试了许多方法的所有希望,但设法通过安装和使用APR来解决:
https://stackoverflow.com/a/22391211/2802916
现在server.xml中的连接器如下所示:
<Connector port="443"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="false"
SSLCertificateFile="thecertificate.cer"
SSLCertificateKeyFile="privatekey.key"
SSLCACertificateFile="intermediate.crt"
SSLPassword="thePassForPrivateKey"
/>