我从一家公司购买了通配符 SSL 证书,我向他们发送了 csr 文件,他们向我发送了两个证书文件,即 CA.txt 和 com_sertificate。
我在网上搜索并找到一些关于 tomcat 和 ssl 的教程,但我无法使用这两个文件完成。这些教程都提到了我没有的不同文件。(我向购买证书的公司询问了这个过程,但他们说他们对 tomcat 集成一无所知)
有人对此有什么想法吗?
ps 我使用的是 ubuntu 8.04 服务器、Java 1.6 和 tomcat 6
答案1
他们可能以 x509 PEM 格式向您提供证书,Java 以外的所有程序都使用这种格式。Java 使用 PKCS12。大多数证书供应商都有一个常用 openssl 命令页面,包括如何在 PEM 和 PKCS12 之间进行转换;这里是一。
com_certificate 几乎肯定是您的站点证书和 CA.txt ...好吧,下面是如何确定的方法:
您可以使用 OpenSSL 检查 PEM 文件:openssl x509 -text -in <file>
。
他们发送的其中一个文件的“主题”字段将与您的 csr 完全匹配;这是您的站点证书。另一个文件将包含他们的公共 CA 证书、中间“链式”证书或两者。
CA 证书是自签名的,您可以通过运行来确定openssl x509 -noout -issuer -subject -in <file>
。 如果第一行(颁发者)与第二行(主题)匹配,则它是自签名的,因此是 CA 证书(假设该公司是合法的),所以您不需要在 tomcat 中安装它。
否则,它是一个中间证书,您需要在添加站点证书之前将其转换并将其添加到您的密钥库中。
答案2
在生成 CSR 的过程中,您还必须生成私钥。找到私钥后,请参阅此文档:
http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html
嗯,取决于您正在运行哪个版本的 tomcat,您必须使用适合您版本的文档。
为了在 Tomcat 中使用 SSL,您需要将所有三个文件放入所谓的 Keystore 中。
“要使用 OpenSSL 将您自己的 CA 签名的现有证书导入 PKCS12 密钥库,您可以执行以下命令:”
openssl pkcs12 -export -in mycert.crt -inkey mykey.key \
-out mycert.p12 -name tomcat -CAfile myCA.crt \
-caname root -chain
请参阅:“编辑 Tomcat 配置文件”