更新 Cloud 的 TLS 证书

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

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

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

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

配置类型 如何更新/替换证书 如何更新虚拟主机、目标端点/目标服务器
参考文档(推荐)

对于密钥库,使用新名称和别名 与旧别名同名

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

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

您无需联系 Apigee Edge 支持团队

流变量(仅限目标端点)

对于密钥库,使用新名称和别名 重名或改名。

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

使用新密钥库的名称、别名或 受信任证书存储区。

您无需联系 Apigee Edge 支持团队

直接 创建新的密钥库、别名、信任库。

对于虚拟主机,请联系 Apigee Edge 支持团队以重启路由器。

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

直接 删除密钥库或信任库,然后使用相同的名称重新创建密钥库或信任库。

不需要更新虚拟主机。不过,在新的密钥库和 别名。

如果将密钥库用于 Edge 和后端服务之间的双向 TLS, 联系 Apigee Edge 支持,以重启消息处理器。

直接 仅针对信任库,将新证书上传到信任库。

对于虚拟主机,请联系 Apigee Edge 支持团队,以重启边缘路由器。

如果目标端点/目标服务器使用信任库,请联系 Apigee Edge 支持团队,以重启消息处理器。

在 更新

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

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

其中 HOSTNAME 是主机别名,ORG-ENV 是组织, 环境例如:

echo | openssl s_client -servername example.com -connect myOrg-prod.apigee.net: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

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

确定虚拟主机或目标端点/目标服务器如何引用密钥库,以及 信任库

  1. 访问 https://enterprise.apigee.com,登录 Edge 管理界面。
  2. 在“边缘管理界面”菜单中,选择贵组织的名称。
  3. 对于虚拟主机,确定虚拟主机如何指定密钥库 和信任库。
    1. 根据您的 Edge 界面版本: <ph type="x-smartling-placeholder">
        </ph>
      1. 如果您使用的是传统 Edge 界面:请选择 API > 环境配置
      2. 如果您使用的是新版 Edge 界面:依次选择管理 > Environments
    2. 选择虚拟主机标签页。
    3. 针对要更新的特定虚拟主机,选择显示 按钮来显示其属性。显示内容包括以下属性: <ph type="x-smartling-placeholder">
        </ph>
      1. Key Store:当前密钥库的名称,通常指定 作为来自 ref://mykeystoreref 的参考。

        或者,也可能由直接名称指定,格式为 myKeystoreName 或由流变量指定,形式为 {ssl.keystore}
      2. Key Alias。此属性的值是 密钥库。您的新密钥库必须创建具有相同 名称。
      3. 受信任证书存储区:当前受信任证书存储区的名称(如果有),通常 在 ref://mytruststoreref 中指定为引用。

        或者,也可能由直接名称指定,格式为 myTruststoreName 或由流变量指定,形式为 {ssl.truststorestore}
  4. 对于目标端点/目标服务器,确定目标端点 可指定密钥库和信任库: <ph type="x-smartling-placeholder">
      </ph>
    1. 在 Edge 管理界面菜单中,选择 API
    2. 选择 API 代理的名称。
    3. 选择开发标签页。
    4. 目标端点下,选择默认
    5. 在代码区域中,将显示 TargetEndpoint 定义。查看 <SSLInfo> 元素,用于查看密钥库/truststore 的定义。

      注意:如果目标端点使用目标服务器,那么 XML 目标端点的定义如下所示,其中 <LoadBalancer> 标记用于指定 API 使用的目标服务器 代理。
      <TargetEndpoint name="default">
        …
        <HTTPTargetConnection>
          <LoadBalancer>
            <Server name="target1" />
            <Server name="target2" />
          </LoadBalancer>
          <Path>/test</Path>
        </HTTPTargetConnection>
          …
      </TargetEndpoint>
      检查目标服务器定义中的 <SSLInfo> 元素,以确定如何 已定义密钥库/信任库。

更新密钥库中的 TLS 证书

密钥库中的证书过期后,您将无法向密钥库上传新证书。相反, 创建一个新的密钥库并上传证书,然后更新您的虚拟主机或目标服务器/目标 端点以使用新的密钥库。

通常,您可以在当前证书到期之前创建新的密钥库,然后更新 您的虚拟主机或目标端点以使用新的密钥库,这样您可以继续 不会因证书过期而中断的服务请求。然后,您便可删除 密钥库。

对于基于云的 Edge 部署:

  1. 创建新的密钥库,并上传证书和密钥(如中所述) 使用 Edge 界面创建密钥库和信任库

    在新的密钥库中,确保为密钥别名使用与 现有的密钥库。

  2. 对于用于入站连接(表示 API)的虚拟主机 发送到 Edge 中: <ph type="x-smartling-placeholder">
      </ph>
    1. 如果您的虚拟主机使用对密钥库的引用,请更新该引用。
    2. 如果您的虚拟主机使用密钥库的直接名称,请与 Apigee Edge 支持联系。
  3. 对于出站连接使用的目标端点/目标服务器,表示 从 Apigee 迁移到后端服务器: <ph type="x-smartling-placeholder">
      </ph>
    1. 如果目标端点/目标服务器使用对密钥库的引用,请更新 参考。无需重新部署代理。
    2. 如果目标端点/目标服务器使用流变量,请更新该流变量。否 必须再次部署代理
    3. 如果目标端点/目标服务器使用密钥库的直接名称,请更新 引用旧 API 代理的任何 API 代理的目标端点/目标服务器配置 密钥库和密钥别名,以引用新的密钥库和密钥别名。

      然后,您必须重新部署该代理。

  4. 确认新密钥库可正常运行后,删除旧密钥库 包含过期证书和密钥的密钥库。

更新信任库中的 TLS 证书

当信任库中的证书过期时,您通常需要创建新的信任库并上传证书。 然后将您的虚拟主机或目标服务器/目标端点更新为使用新的信任库。

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

通常,您可以在当前证书到期之前创建新的信任库,然后更新 您的虚拟主机或目标端点使用新的信任库,这样就可以继续 不会因证书过期而中断的服务请求。然后,您便可删除 信任库。

对于基于云的 Edge 部署:

  1. 按照说明创建新的信任库并上传证书 使用 Edge 界面创建密钥库和信任库

    在将新证书上传到新信任库时,别名名称无关紧要。

  2. 对于用于入站连接(表示 API)的虚拟主机 发送到 Edge 中: <ph type="x-smartling-placeholder">
      </ph>
    1. 如果您的虚拟主机使用了对信任库的引用,请更新该引用。
    2. 如果您的虚拟主机使用信任库的直接名称,请与 Apigee Edge 支持团队联系。
  3. 对于出站连接使用的目标端点/目标服务器,表示 从 Apigee 迁移到后端服务器: <ph type="x-smartling-placeholder">
      </ph>
    1. 如果目标端点/目标服务器使用对信任库的引用,请更新 参考。无需重新部署代理。
    2. 如果目标端点/目标服务器使用流变量,请更新该流变量。否 必须再次部署代理
    3. 如果目标端点/目标服务器使用信任库的直接名称, 更新引用的任何 API 代理的目标端点/目标服务器配置 旧信任库来引用新的密钥库和密钥别名。

      然后,您必须重新部署该代理。

  4. 确认新的信任库正常运行后,删除旧的信任库 证书过期的信任库。