让我们为内部站点加密证书

New*_* BB 5 ssl https ssl-certificate lets-encrypt

我希望消除我对使用 Let's Encrypt 用于内部站点/应用程序的一些困惑。我无法在其他地方找到这些信息。

我想将 Let's Encrypt 与 Certbot 配对使用,以允许在应用程序上使用 SSL。

问题:

  1. Let's Encrypt 或 Certbot 是否需要访问互联网才能执行其工作的任何部分?即使互联网访问中断,应用程序也需要能够正常运行。据我所知,唯一需要互联网连接的部分是在 90 天期限即将结束时生成新证书。
  2. Let's Encrypt 需要一个有效的域。根据他们的网站,“对于任何使用域名的服务器,如网络服务器、邮件服务器……”。我对拥有有效域名意味着什么一无所知。如果我的服务器上已经安装了其他 Web 应用程序的 Apache,我设置的任何域名都可以使用 Apache 计数还是需要购买域名?
  3. 在上一个问题中,我提到其他应用程序将在此服务器上。这些不需要 SSL。如果我在我的服务器上设置了 Let's Encrypt 和 Certbot,这是否意味着这些应用程序具有可用的 SSL,还是特定于用于设置它的域(站点)名称?如果单独的应用程序使用 SSL,是否需要修改这些其他应用程序中的任何一个?
  4. 假设我想获得一个根证书,但我想创建和使用一组中间密钥,而不是将它与 Certbot 一起使用。这可能吗?每次我们创建新的根密钥时,这些中间密钥是否需要改变?

如果我的任何问题是无知的,我深表歉意,我对这类东西的了解非常有限。也就是说,甚至可能有更好的选择来完成我需要的事情,所以我愿意接受建议。我选择了让我们加密而不是自签名证书,因为使用此解决方案,我不需要向需要访问的每台客户端计算机添加 CA。

dav*_*dgo 12

  1. Let's Encrypt 需要互联网连接,但这是需要的 联邦军 运行它的 ISRG。Certbot(在您的计算机上运行)与 Let's Encrypt 通信以颁发和更新证书,并且确实需要与您的计算机连接。

  2. 有效的域名(在 Let's Encrypt 的情况下)是您设置的可以由全球 DNS 基础设施解析的域 - 实际上这意味着使用购买的域名或与购买的域名相关的子域(尽管它可以从一些不起眼的注册机构(如 www.tk)获得免费域名)

  3. 应用程序需要配置为使用 Let's Encrypt 密钥。Certbot 所做的只是 (a) 拥有一组几乎所有浏览器都接受的密钥,以及 (b) 在检查密钥所有者是否也控制已签名密钥的 DNS 之后签署密钥。 虽然 Certbot 可以与 Apache/NGINX 一起使用,而且这样做很容易,但不需要运行任何一个软件。 类似地,Certbot 的输出(如果需要,除了可选的配置文件,但绝不是强制性的)是一个签名的公钥。此私钥以及 Let's Encrypt 通常为您生成的私钥(和任何中间密钥)可供您使用的任何可以使用 SSL、将 Let's Encrypt 识别为 CA 并识别文件格式的软件使用。这需要在软件中进行配置。

  4. 你问的是没有意义的 - 如果你有一个根证书,你就不会使用 Certbot。您可以使用 OpenSSL 库创建自己的 CA 基础设施,如果您想让这更容易,可以使用像 easy-rsa 这样的 pki 工具。Certbot 不是注册表,也不是 SSL 库,它是一个脚本,用于以符合标准的方式验证域名的所有权,并管理 Let's Encrypt 提供的证书。如果您要设置自己的 CA(证书颁发机构 - 这就是根证书的全部内容),则它没有用。

  • #1 可能更清楚:不仅需要 Internet 连接,而且还需要公开用于 [HTTP-01 挑战](https://letsencrypt.org/docs/challenge-types/#http-01 -挑战)。此外,Let's Encrypt 由 [ISRG](https://www.abetterinternet.org/) 提供,而不是 EFF。 (2认同)