0

我通常通过创建 CSR 来安装 SSL,然后让 SSL 提供程序生成证书。GoDaddy 通常会提供 3 个证书文件的 zip,根证书文件、临时证书文件、网站。这工作正常。

但不是我试图在 Tomcat 服务器上安装来自 Ionos 的证书。我跟着, 如何在没有 CSR 的情况下在 Tomcat 中安装 GoDaddy SSL 证书?

这是因为你不能给 Ionos 一个 CSR,但需要下载你的私钥和证书文件。这工作,有点,网络浏览器 https 工作,他们说证书是有效的。但它在Android上失败了。如果我在这里检查证书, https://www.digicert.com/help/

它显示,“证书未由受信任的机构签署(检查 Mozilla 的根存储)。如果您从受信任的机构购买证书,您可能只需要安装一个或多个中间证书。请联系您的证书提供商以获得帮助这适用于您的服务器平台。”

这似乎意味着找不到根证书或临时证书。Ionos 只给了我 2 个证书文件,网站和临时,它没有给我根。关于如何获得 Ionos 的根证书的任何想法?

我为 Tomcat 所做的是,

openssl pkcs12 -export -in web.cer -inkey private.key -out cert_and_key.p12 -name tomcat -CAfile interm.cer -caname root
./keytool -importkeystore -srckeystore cert_and_key.p12 -srcstoretype PKCS12 -alias tomcat -keystore tomcat.keystore
./keytool -import -trustcacerts -alias intermed -file inter.cer -noprompt -keystore tomcat.keystore

我认为问题是第一个命令应该有root而不是interm?有任何想法吗?

4

1 回答 1

0

好的,终于搞定了。

提示来自, 在 tomcat 中安装 GoDaddy SSL 证书...没有证书与私钥匹配

需要在openssl中使用-chain参数,最终代码,

cat inter.cer /etc/ssl/certs/ca-certificates.crt > allcacerts.crt
openssl pkcs12 -export -in web.cer -inkey private.key -out cert_and_key.p12 -name tomcat -chain -CAfile allcacerts.cer -caname intermed
./keytool -importkeystore -srckeystore cert_and_key.p12 -srcstoretype PKCS12 -alias tomcat -keystore tomcat.keystore
./keytool -import -trustcacerts -alias root -file root.cer -noprompt -keystore tomcat.keystore
./keytool -import -trustcacerts -alias intermed -file inter.cer -noprompt -keystore tomcat.keystore
于 2020-03-24T18:12:48.230 回答