SSL中间证书

时间:2012-04-10 14:00:58

标签: tomcat ssl ssl-certificate keystore thawte

我们在使SSL证书正常运行方面遇到了很多麻烦。

我们通过首先创建pkcs12文件并将其导出到java密钥库,从现有密钥和证书生成密钥库(使用多个源)。

现在,Thawte要求您安装2个中间ca文件。如果我检查我们的密钥库,那么所有三个(2个中间体和我们自己的密码库)都存在。 Tomcat正常启动,但在访问该站点(并使用verisign ssl检查程序)时,未获取两个中间证书。

如果有人有更多从Thawte安装证书的经验,我们将不胜感激。我们可以使用以下文件。遗憾的是,我们没有用于创建CSR的原始密钥库,但我们确实拥有私钥。

  1. CSR文件
  2. 私钥(.key文件)
  3. 我们的.crt文件
  4. 来自Thawte的主要和辅助中间文件(作为单独的和.p7b捆绑的文件)
  5. 另外,我们使用没有apache的tomcat 7.0.27。

    谢谢!

4 个答案:

答案 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"
/>