【问题标题】:Create a SSL certificate with openssl使用 openssl 创建 SSL 证书
【发布时间】:2019-10-27 00:50:57
【问题描述】:

我正在与一位合作伙伴合作,该合作伙伴向我索要 SSL 证书(用于 Web,以便将 SAML 用于 Web 应用)。

他给我发了一份 CSR 文件。 有了它,我生成了一个 cer 文件(使用我的 pki http://pkiserver/certsrv 我还将它转换为 crt 文件(以防万一)。

我生成了一个带有密码的密钥文件 file.key(使用 openSSL)

所以我理解正确,我现在需要为我的伙伴生成一个 pfx 文件,不知道它如何与开放 SSL 一起工作

我不明白这个命令: openssl pkcs12 -in certificat-ssl.cer -certfile cert-intermediaire.cer -certfile cert-racine.cer -inkey cle-privee.key -export -out certificat-ssl.pfx

在 -in "之后是我的 crt 文件吗?-certfile 我不知道该放什么 -inkey 我生成的 file.key -导出我想要的著名文件

【问题讨论】:

  • 如果他已经为您提供了 CSR(签名请求),他已经有一个密钥 - 您只需要使用您的 CA 对请求进行签名,这将生成证书。您根本不需要密钥 - 它是私有的!
  • 这个问题与编程无关。在ServerFaultSuperUser 上会更好。

标签: ssl openssl pki pfx csr


【解决方案1】:

根据您的 CA 服务器的 URL,我假设您使用的是 Microsoft CA。

合作伙伴已向您发送了一份 CSR。这意味着他们在他们的位置拥有私钥,因此您没有理由为他们生成一个 - 假设这就是您所说的 keyfile

您只需使用您的 Microsoft CA 签署 CSR 并将证书导出为 PEM 文件。

您将证书退还给合作伙伴后,他们就可以安装它。如果这意味着他们需要将证书与私钥配对并创建一个 PKCS#12 文件,那就这样吧;但这是他们的任务,而不是你,因为你不想处理他们的私钥。

为了阐明 OpenSSL 命令,以防万一您需要向您的合作伙伴组织解释:

openssl pkcs12 告诉实用程序您正在处理 PKCS#12 文件;

-certfile cert-intermediaire.cer 是从属(或中间)CA 证书。这是您的 Microsoft CA 证书。如果您有三层 PKI,只需添加更多 -certfile 选项即可覆盖您的所有 CA 证书。如果您有单层 PKI,请删除此选项或下一个选项(均为 -certfile

-certfile cert-racine.cer 是根 CA 证书(签署您的 CA 证书的证书)。通常不需要在 PKCS#12 文件中发送此证书,因为您的合作伙伴应该已通过更正式的流程接收并安装此证书,该流程应包括检查文件的真实性和您组织的 PKI 的可信度。另一方面,发送它并没有什么坏处。

-in certificat-ssl.cer 是您使用 CA 为他们生成的证书;

-inkey cle-privee.key 是只有您的合作伙伴应该持有的私钥(这就是他们应该运行此命令的原因);

-export 告诉实用程序它正在导出一个新的 PKCS#12 文件;

-out certificat-ssl.pfx 是您要导出到的文件名。

【讨论】:

  • 嗨 garethTheRed 非常感谢你的所有解释,所以如果我明白我只需要连接 mypki/certsrv > 要求一个新证书粘贴著名的 CSR,然后我会得到 PEM 文件?
  • 总结一下,是的。然后将该 PEM 文件连同您的 PEM 格式的 CA 证书一起发送给您的合作伙伴,让他们随心所欲地使用它们。
  • 非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2023-04-09
  • 2012-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多