使用 Easyrsa 和 ODK Central 创建 fullchain.pem 和 privkey.pem

使用 Easyrsa 和 ODK Central 创建 fullchain.pem 和 privkey.pem

我的基于 Docker 的服务器的文档获得okd网站要求:

生成适当的 fullchain.pem (-out) 和 privkey.pem (-keyout) 文件。

使用易用性,我可以生成实体的文件sg

  • 证书
  • 证书密钥
  • sg.crt,带有Certificate: Data: Version: 3 (0x2) .... BEGIN CERTIFICATE
  • sg.key,具有--- BEGIN ENCRYPTED

我假设这是和fullchain.pem的连接(我应该删除顶部的部分吗?),并且这可能是,但我的尝试总是导致错误消息。sg.crtsg.keyCertificateca.keyprivkey.pem

生成这两个必需文件的正确方法是什么?

答案1

不。CA 私钥应该绝不给予任何其他系统 - 它应该仅有的仅用于 CA 目的,不得用于其他目的。(任何拥有密钥的人都可以颁发任意证书并完全危及 CA。)

相反,该privkey.pem文件需要包含与实体的自己的证书,即来自“sg.key”。并非所有服务都能够加载加密密钥(并且它们并不总是能够要求您输入密码),因此您可能需要使用 解密文件openssl pkey

fullchain.pem文件需要包含实体的证书本身,即来自“sg.crt”的证书,以及任何中间颁发者证书。您没有任何中间证书,并且该文件不需要包含根证书本身,因此在您的情况下,它可以是“sg.crt”的直接副本。(无论如何,大多数 CA 都会直接为您提供完整的链文件。)

将根 CA 证书 (ca.crt) 附加到链的末尾不会有什么坏处,但在大多数情况下它是无用的,因为信任 CA 的客户端无论如何都会拥有其证书。(这种情况的一个例外可能是某些 DANE/TLSA 模式,但这种情况极为罕见。另一个例外是交叉签名的根,但您没有这些。)

是的,您可以删除 CA 工具可能添加的任何“证书:”文本。软件只会查看分隔的 BEGIN/END 块,通常会忽略周围的任何文本。

答案2

该文件fullchain.pem是包含服务器证书文件和中级证书

easyrsa不会产生中级证书因为它是为现有的证书颁发机构设计的。

您链接的文档有此部分使用自定义 SSL 证书如果您已从证书颁发机构获得证书,则提供信息除了 Let's Encrypt 之外。

意思是,如果您从其他机构(例如 GoDaddy 或 Digicert 等)购买了 SSL 证书,本文档的此部分将告诉您将从这些供应商处收到的文件放在何处,其中包括文件fullchain.pemprivkey.pem

相关内容