更新私有云的 TLS 证书

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

用于在虚拟主机或目标端点/目标服务器中指定密钥库和信任库的名称的方法决定了执行证书更新的方式。您可以指定 创建密钥库和信任库的名称:

  • 参考文件 - 首选
  • 直接名称
  • 流变量

每种方法对证书更新过程的影响各不相同,如 下表。

配置类型 如何更新/替换证书 如何更新虚拟主机、目标端点/目标服务器
参考文档(推荐) 对于密钥库,使用新名称以及与旧别名具有相同名称的别名创建新密钥库。

对于信任库,使用新名称创建信任库。

更新密钥库或信任库的引用。

无需重启路由器或消息处理器。

流变量(仅限目标端点) 对于密钥库,使用新名称以及具有相同名称或新名称的别名创建新密钥库。

对于信任库,使用新名称创建信任库。

使用新密钥库、别名或信任库的名称在每个请求中传递更新的流变量。

无需重启路由器或消息处理器。

直接 创建新的密钥库、别名、信任库。 更新虚拟主机并重启路由器。

如果目标端点/目标服务器使用信任库,请重新部署代理。

直接 删除密钥库或信任库,然后使用相同的名称重新创建密钥库或信任库。 无需更新虚拟主机,也无需重启路由器。但是,API 请求会失败 直到设置了新的密钥库和别名为止。

如果密钥库用于 Edge 和后端服务之间的双向 TLS,请重启 消息处理器

直接 仅针对信任库,将新证书上传到信任库。 如果虚拟主机使用了信任库,请重启路由器。

如果目标端点/目标服务器使用信任库,请重启消息 处理器。

在 更新

在更新之前,请使用以下 openssl 命令测试当前证书 :

echo | openssl s_client -servername hostAlias -connect hostAlias.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject

其中 hostAlias 是虚拟主机或 IP 地址的主机别名。 例如:

echo | openssl s_client -servername api.myCompany.com -connect api.myCompany.com:443 2>/dev/null | openssl x509 -noout -dates -subject

您会在表单中看到输出:

notBefore=Dec 30 22:11:38 2015 GMT
notAfter=Dec 30 22:11:38 2016 GMT
subject= /OU=Domain Control Validated/CN=*.apigee.net

更新证书后,使用同一命令对其进行测试。

更新密钥库中的 TLS 证书

对于 Edge 的本地部署:

  1. 创建一个新的密钥库并上传证书和密钥,如 密钥库和信任库。 在新的密钥库中,请确保使用与 现有密钥库。

    注意:您可以删除当前密钥库,然后使用相同的密钥创建一个新密钥库 名称和别名。无需重启路由器。不过,在新的密钥库之前,API 请求会失败 和别名。
  2. 对于入站连接使用的虚拟主机,表示 API 请求 导入 Edge: <ph type="x-smartling-placeholder">
      </ph>
    1. 如果您的虚拟主机使用对密钥库的引用,请将该引用更新为: 请参阅使用 有引用
    2. 如果您的虚拟主机使用密钥库的直接名称: <ph type="x-smartling-placeholder">
        </ph>
      1. 将引用旧密钥库和密钥别名的所有虚拟主机更新为 引用新的密钥库和密钥别名。
      2. 重启路由器,一次一个。请注意,如果您删除了旧的密钥库 创建了具有相同名称的新密钥库,则无需重启路由器。

        无需重新部署代理。
  3. 对于目标端点/目标服务器,供出站连接使用,这意味着 从 Apigee 迁移到后端服务器: <ph type="x-smartling-placeholder">
      </ph>
    1. 如果目标端点/目标服务器使用对密钥库的引用,请更新 如使用引用中所述。 无需重新部署代理。
    2. 如果目标端点/目标服务器使用流变量,请更新该流变量。否 必须再次部署代理
    3. 如果目标端点/目标服务器使用密钥库的直接名称: <ph type="x-smartling-placeholder">
        </ph>
      1. 更新指定 API 代理的所有 API 代理的目标端点/目标服务器配置。 通过旧密钥库和密钥别名引用新密钥库和密钥 别名。
      2. 对于任何从 TargetEndpoint 定义引用密钥库的 API 代理, 您必须重新部署该代理。

        如果 TargetEndpoint 引用 TargetServer 定义,而 TargetServer 定义 定义引用密钥库,则不需要代理重新部署。
      3. 如果密钥库用于 Edge 与后端服务之间的双向 TLS,以及 在您删除/重新创建了同名密钥库后,必须重启 Edge 消息处理器。
  4. 确认新密钥库可正常运行后,删除旧密钥库 使用上述过期证书和密钥创建密钥库。

更新信任库中的 TLS 证书

如果您使用了对信任库的引用,更新信任库中的证书的过程 与上述密钥库相同。仅有的几点区别如下:

  • 将新证书上传到新的信任库时,别名名称对 信任库。
  • 如果证书是证书链的一部分,则必须创建一个包含所有 证书并将文件上传到单个别名,或将证书链中的所有证书分别上传到 对每个证书使用不同的别名。

如果您使用的是密钥库和信任库的直接名称,请执行以下操作:

  1. 按照 密钥库和信任库。 无需删除旧证书。
  2. 对于入站连接使用的虚拟主机,表示 API 请求 逐一重启路由器。
  3. 对于出站连接使用的目标端点/目标服务器: 也就是说,从 Apigee 到后端服务器, 。
  4. 确认新的信任库正常运行。