代码之家  ›  专栏  ›  技术社区  ›  kimathie

在运行时定期更改SSL证书

  •  3
  • kimathie  · 技术社区  · 8 年前

    有离线根CA和在线颁发CA

    启动微服务时

    • 生成密钥对、csr和密钥库
    • 将CA证书加载到其信任库中
    • 向颁发证书的CA发送签名请求

    我们设想的是为每个微服务创建一个短期(有效期为24小时或更短)证书,当证书即将到期或到期时,微服务应生成一个新的CSR,并对其进行签名,然后继续正常工作。这可能吗?如果我们朝着这个方向前进,将面临哪些挑战?

    1 回复  |  直到 8 年前
        1
  •  2
  •   pedrofb    8 年前

    撇开为什么内部网络需要如此低的刷新时间不谈,您的架构是可行的

    • 颁发CA必须在线,并且应在微服务启动期间处理CSR并返回有效证书,并且具有合理的短响应时间

    • 脱机根CA的公共证书应事先包含在每个微服务的信任列表中。我建议将it计划包括在内,以避免安全风险


    证书通常在客户端信任库中脱机手动安装,但在您的情况下,您必须将每个证书分发给将使用微服务的客户端。这个解决方案是不现实的,因为你必须这样做。将通道安全化,将其分发给每个客户端,安装并确保所有步骤同步。

    还请不要忘记,旧证书必须从信任库中删除,因为如果它们存在,客户端仍然会接受它们