我在 GoDaddy (Apache) 中有一个网站,在 Amazon AWS (Apache Tomcat) 中有一个应用程序。
网站域(apache):example.com
应用域(apache tomcat):sub.example.com
我知道如何在 GoDaddy 中为 example.com 安装证书,我使用此应用程序生成 CSR 和私钥:
https://www.rapidsslonline.com/ssl-tools/csr-generator.php
我复制 CSR 以请求证书,最后使用私钥安装它。
我知道如何在 tomcat 中为 sub.example.com 安装证书,创建 keystore ,然后使用生成的 keystore 的 csr 请求签名,最后下载证书并安装它,这很简单。
但我有一个问题,我只能使用一种解决方案:安装网站证书或安装 tomcat 证书,但不能同时安装这两种。为什么?因为生成器生成的 CSR 与 keystore 生成的不同,我需要私钥(生成器提供的)。
那么,这就是我提出问题的原因,如何使用现有的 CSR 文件创建 keystore ?
嗯,我的想法是使用该 CSR 文件创建 keystore (可能存在 keytool 的参数),然后使用它生成新证书。在此之后我可以在 Apache 和 tomcat 中安装,我该怎么做?
也许另一种解决方案是如何获取 keystore 的私钥,它也可以。
最佳答案
如前所述,您的问题没有意义。这些都不涉及 CSR 文件。据我所知,您不能将 CSR 导入 keystore ,即使可以,该操作也毫无意义。
真正发生的是你收到一个 PFX 文件,它已经是一个 keystore ,并且已经包含 key 对、签名证书和 CA 链。您可以将该文件直接用作 Java 中的 PKCS#11 keystore ,或者使用 keytool
将整个文件导入 JKS keystore 。
您可以通过生成 key 对和 CSR 来从 keystore 开始。然后您可以对其进行签名并收到签名证书和 CA 链。然后,您将使用与生成 key 对时相同的别名将这些内容导入 keystore 。
关于java - 如何使用现有的 CSR 文件创建 keystore ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46101788/