首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用step-ca作为具有父ca提供的证书的中间CA

使用step-ca作为具有父ca提供的证书的中间CA
EN

Stack Overflow用户
提问于 2021-04-16 23:47:27
回答 2查看 145关注 0票数 0

我希望使用一个中间的CA,可以通过ACME签署证书。我们有许多内部web服务器,这些服务器无法在互联网上访问,这些服务器使用SSL,所有这些都需要手动管理。我们已经有一个内部CA,其中CA授权安装在所有内部计算机上。我希望使用现有授权机构提供的证书安装step CA,然后它可以使用ACME (所有服务器都在DNS中,此DNS在内部管理,因此DNS名称检查是有效的检查)来签署证书。

我可以得到大部分方法,但是似乎set-ca总是为服务的ACME部分使用自签名证书,所以当certbot或任何东西连接到ACME服务时,它只会生成一个证书错误,因为它正在用于通信的自签名证书(即使它最终会颁发一个可以验证的证书)。

有人有解决这个问题的经验吗?我可以去在所有相关的服务器上安装自签名证书,但这种方式会使使用ACME的意义失效,如果我必须每6个月在许多机器上手动更新一次证书,我还不如继续当前的过程。

EN

回答 2

Stack Overflow用户

发布于 2021-08-31 18:15:33

目前,我在我的桌子上面临着同样的挑战。我正在尝试设置ACME端到端进程。我希望为所有内部服务/服务器提供完全自动化的证书流程。其思想是消除对证书的手动操作。

我成功地安装和运行了step-ca,并将其用作ACME服务器,但我仍然需要(手动)将CA证书本身分发到所有服务器/服务信任存储区。

无论如何,到目前为止,我能找到的最接近的答案描述如下:https://smallstep.com/docs/tutorials/intermediate-ca-new-ca

所以,如果你已经找到了这个问题的更好的解决方案,请在这里分享。

票数 0
EN

Stack Overflow用户

发布于 2021-10-28 23:09:08

ACME规范(RFC8555)要求ACME客户端(获得证书的对象)和ACME服务器(在本例中为step-ca)之间的所有通信都通过TLS进行。这意味着step-ca需要自己的证书,才能使用ACME颁发证书。所以,是的,这里有一个自举问题。

为了解决此问题,step-ca使用其中间证书/签名密钥自动为自己颁发证书。这意味着您需要执行以下操作之一:

  1. 将所有ACME客户端配置为信任您运行step ca initstep-ca生成的根,或者
  2. step-ca配置为使用链接到您的客户端已经信任的现有根的中间层(请参见https://smallstep.com/docs/tutorials/intermediate-ca-new-ca).

如果您正确管理根证书私钥,则可以使用比叶证书通常使用的过期时间长得多的过期时间。最好有一个流程来轮换你的根证书(例如,使用配置管理),但这不是你需要经常做的事情。因此,即使需要根发行版,使用ACME仍然有很大的价值。

您可以使用step ca rootstep certificate install分别安全地下载根证书并(可选)将其安装在系统的信任存储区中。

有关配置特定ACME客户端以连接到step-ca的详细信息,请参阅https://smallstep.com/docs/tutorials/acme-protocol-acme-clients

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67128353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档