![从文本文件生成 SSL 证书文件](https://linux22.com/image/731365/%E4%BB%8E%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E7%94%9F%E6%88%90%20SSL%20%E8%AF%81%E4%B9%A6%E6%96%87%E4%BB%B6.png)
我已经通过他们的向导生成了一个免费的 SSL zerossl.com
,最后我得到了一个包含两个BEGIN
和的纯文本的纯文本文件END
。
我想知道如何从该文件/文本生成.crt
和。key
我有三个文本文件:
domain-csr
,,account-key
domain-crt
以下是该网站的指南:
您的证书已准备就绪!恭喜您收到免费 SSL 证书。请注意,证书有效期为 90 天,但可以免费续订。要续订,只需重复该过程,使用与上次相同的 LE 密钥和 CSR。使用相同的 CSR 意味着您不需要新的域密钥(它将保持不变),并且只需要更新服务器上的证书文件。请妥善保管您的密钥和 CSR。请务必记住您保存生成的帐户密钥的位置!
您的帐户 ID 是 48546566 - 请将其记在某处。通常情况下您不需要它,但如果您丢失了帐户密钥,它和电子邮件可能会帮助您更快地恢复帐户。
重要的:
安装证书时,请记住它应与域密钥一起使用,而不是“详细信息”屏幕中的 LE 密钥。LE 密钥应仅在颁发或续订证书时在“详细信息”屏幕上使用。续订时,这将允许您跳过已验证域的验证。您的证书文件包含您的域证书和颁发者的证书。大多数现代 Web 服务器都会按原样接受它们。但是,旧版本的 Apache、Amazon Web Services (AWS) 和一些控制面板会分别接受它们。在这种情况下,只需将证书文件一分为二,保留两个证书周围的 BEGIN 和 END 行。第一个是您的域证书,第二个是颁发者的证书,在控制面板界面中可能称为“中间证书”、“证书链”或“CA 包”。
答案1
您无法从证书中获取私钥 - 证书是公开的。如果能够获取私钥,SSL 证书将变得毫无用处。
ZeroSSL 似乎会主动为您创建私钥。如果您这样做了(你不应该这样做;你应该自己生成并向他们提供 CSR;让别人生成/管理你的私钥是一种安全风险,在这种情况下是可以避免的):
https://zerossl.com/ssl-faq.html#I_do_not_see_my_domain_key_on_the_last_step__How_do_I_get_it_
我在最后一步没有看到我的域密钥。我该如何获取它?
如果您在流程的第一步生成了 CSR,那么在最后一步,域密钥肯定会与证书文件一起出现。但是,如果您正在续订并使用与之前相同的 CSR,或者您正在使用在其他地方生成的 CSR,那么在最后一步,您将只看到证书,而不会看到相应的域密钥。这是因为拥有 CSR 意味着您已经拥有密钥,并且无论如何都不可能从 CSR 中提取密钥来向您显示它。