我想知道能否将在 AWS 上运行的应用程序固定到 AWS Certificate Manager (ACM) 颁发的证书。
简短描述
将您的应用程序固定到 ACM 颁发的 SSL/TLS 证书并不是最佳做法。如果您固定证书,就需要为浏览器提供网站使用的公钥的 ID。如果用户访问该网站,浏览器就会缓存该固定。然后,还会在以后的访问中使用该固定验证公钥。固定信息通常包含在 HTTP 响应的标头以及固定的生存时间 (TTL) 中。如果证书发生更改,例如,证书续订时,则这种更改可能会导致网站访问者收到错误。发生这些错误是因为无法与网站建立安全的连接。有关详细信息,请参阅证书固定。
**重要事项:**从 2022 年 10 月 11 日太平洋时间上午 9:00 开始,通过 ACM 获得的公共证书由 Amazon 管理的中间 CA 之一颁发。多个中间 CA 会链接到现有的 Amazon Trust Services 根 CA。经过此更改之后,颁发给您的分支证书会由不同的中间 CA 签名。在此更改之前,Amazon 保留了一定数量的中间 CA,并颁发和续订了来自这些中间 CA 的证书。有关详细信息,请参阅 Amazon 推出动态中间证书颁发机构。
解决方法
最佳做法是将应用程序固定到根证书颁发机构 (CA),而不是固定到单个证书或者中间 CA 证书。当您将应用程序固定到 Amazon Trust Services CA 时,请将同一个应用程序固定到 Amazon Trust Services 表中的所有 CA。
**注意:**您必须选择将应用程序固定到的所有 CA,因为当您请求证书时,ACM 不会指定证书的来源。
固定证书时,请采用以下方法之一进行固定,以确保应用程序可以连接到该域。
将您的应用程序固定到 Amazon 根证书
当您将应用程序固定在根证书级别时,ACM 托管续订将在颁发证书的同一 CA 下续订证书。证书 Amazon 资源名称 (ARN) 保持不变。您也可以将应用程序固定到多个 CA,作为备份固定。如果证书过期,您可以请求新证书,并将证书应用到您的负载均衡器,以减少应用程序停机时间。
将您自己的证书导入 ACM,然后将您的应用程序固定到导入的证书
在 ACM 托管续订过程中不会续订导入的证书。您必须管理证书和密钥的续订。有关详细信息,请参阅将证书导入 AWS Certificate Manager。
相关信息
ACM 最佳实践
证书固定问题