Amazon Certificate Manager 公有证书的特点和限制 - Amazon Certificate Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Certificate Manager 公有证书的特点和限制

ACM 提供的公有证书具有以下特点和限制。这些仅适用于 ACM 提供的证书。这些特点和限制可能不适用于导入的证书

浏览器和应用程序信任

包括 Google Chrome、Microsoft Edge、Mozilla Firefox 和 Apple Safari 在内的所有主要浏览器均信任 ACM 证书。通过 TLS 连接到使用 ACM 证书的站点时,浏览器会显示锁定图标。Java 也信任 ACM 证书。

证书颁发机构和层次结构

您通过 ACM 申请的公有证书是从 Amazon Trust Services 获得的,这是 Amazon 管理的公有证书颁发机构 (CA)。Amazon Root CA 1 到 4 由 Starfield G2 Root Certificate Authority – G2 交叉签名。Starfield 根在 Android(较高的 Gingerbread 版本)和 iOS(版本 4.1 以上)上受到信任。Amazon 根在 iOS 11 以上受到信任。包含 Amazon 或 Starfield 根的浏览器、应用程序或操作系统都将信任 ACM 公有证书。

ACM 通过根据证书类型(RSA 或 ECDSA)随机分配的中间 CA 向客户颁发叶或端点实体证书。由于这种随机选择,ACM 不提供中间 CA 信息。

域验证 (DV)

ACM 证书经过域验证,只能识别域名。申请 ACM 证书时,必须证明所有指定域的所有权或控制权。您可以使用电子邮件或 DNS 来验证所有权。有关更多信息,请参阅Amazon Certificate Manager 电子邮件验证Amazon Certificate Manager DNS 验证

HTTP 验证

在颁发用于 CloudFront 的公有 TLS 证书时,ACM 支持通过 HTTP 验证来验证域所有权。此方法使用 HTTP 重定向来证明域所有权,并提供类似于 DNS 验证的自动续订。HTTP 验证目前只能通过 CloudFront 分配租户功能提供。

HTTP 重定向

对于 HTTP 验证,ACM 提供了 RedirectFrom 网址和 RedirectTo 网址。您必须设置从 RedirectFromRedirectTo 的重定向才能证明域控制权。RedirectFrom URL 包括经过验证的域,而 RedirectTo 指向 CloudFront 基础架构中包含唯一验证令牌的 ACM 控制位置。

管理者

由其他服务管理的 ACM 中的证书在 ManagedBy 字段显示该服务的身份。对于使用 CloudFront 的 HTTP 验证的证书,此字段显示“CLOUDFRONT”。这些证书只能通过 CloudFront 使用。ManagedBy 字段显示在 DescribeCertificateListCertificates API 中,以及 ACM 控制台的证书清单和详细信息页面上。

ManagedBy 字段与“可用于”属性相互排斥。对于 Cloudfront 托管的证书,您无法通过其他 Amazon 服务添加新的用法。您只能通过 CloudFront API 将这些证书用于更多资源。

中间 CA 和根 CA 轮换

为了保持弹性的证书基础设施,Amazon 可以终止中间 CA,恕不另行通知。这些变化不会影响客户。有关更多信息,请参阅 "Amazon introduces dynamic intermediate certificate authorities"(Amazon 引入动态中间证书颁发机构)。

如果 Amazon 终止根 CA,则将在需要时尽快执行此类变更。Amazon 将使用所有可用的方法通知 Amazon 客户,包括 Amazon Health Dashboard、发送电子邮件和联系技术客户经理。

用于吊销的防火墙访问权

已吊销的端点实体证书使用 OCSP 和 CRL 来验证和发布吊销信息。某些客户防火墙可能需要额外的规则才能使这些机制发挥作用。

使用以下 URL 通配符模式来识别吊销流量:

  • OCSP

    http://ocsp.?????.amazontrust.com

    http://ocsp.*.amazontrust.com

  • CRL

    http://crl.?????.amazontrust.com/?????.crl

    http://crl.*.amazontrust.com/*.crl

星号 (*) 代表一个或多个字母数字字符,问号 (?) 代表单个字母数字字符,哈希标记 (#) 代表数字。

密钥算法

证书必须指定算法和密钥大小。ACM 支持以下 RSA 和 ECDSA 公有密钥算法:

  • RSA 1024 位 (RSA_1024)

  • RSA 2048 位 (RSA_2048)*

  • RSA 3072 位 (RSA_3072)

  • RSA 4096 位 (RSA_4096)

  • ECDSA 256 位 (EC_prime256v1)*

  • ECDSA 384 位 (EC_secp384r1)*

  • ECDSA 521 位 (EC_secp521r1)

ACM 可以使用标有星号 (*) 的算法请求新证书。其余算法仅适用于导入的证书。

注意

对于由 Amazon 私有 CA CA 签名的私有 PKI 证书,签名算法系列(RSA 或 ECDSA)必须与 CA 的私有密钥算法系列匹配。

ECDSA 密钥比具有同等安全性的 RSA 密钥更小,计算效率更高,但并非所有网络客户端都支持 ECDSA。此表改编自 NIST,比较了 RSA 和 ECDSA 密钥大小(以位为单位)以获得同等安全优势:

比较算法和密钥的安全性

安全强度

RSA 密钥大小

ECDSA 密钥大小

128

3072 256

192

7680 384

256

15360 521

安全强度为 2 的幂,与破解加密所需的猜测次数有关。例如,3072 位 RSA 密钥和 256 位 ECDSA 密钥都可以通过不超过 2128 次猜测来检索。

如需获得选择算法的帮助,请参阅 Amazon 博客文章《如何在 Amazon Certificate Manager 中评估和使用 ECDSA 证书》

重要

集成服务仅允许将支持的算法和密钥大小用于其资源。支持情况因证书是导入到 IAM 还是 ACM 而有所差别。有关详细信息,请参阅每个服务的文档:

托管续订和部署

ACM 管理 ACM 证书的续订和预置。自动续订可以帮助避免因证书配置错误、吊销或过期而导致的停机。有关更多信息,请参阅 Amazon Certificate Manager 中的托管式证书续订

多个域名

每个 ACM 证书必须至少包括一个完全限定域名 (FQDN),并且可以包括其他名称。例如,www.example.com 的证书也可以包括 www.example.net。这也适用于裸域(机构根网域或裸域)。您可以为 www.example.com 请求证书并包括 example.com。有关更多信息,请参阅 Amazon Certificate Manager 公有证书

Punycode

必须满足以下与国际化域名有关的 Punycode 要求:

  1. 以“<character><character>--”模式开头的域名必须与“xn--”一致。

  2. 以“xn--”开头的域名也必须是有效的国际化域名。

Punycode 示例

域名

满足条件 1

满足条件 2

已允许

注意

example.com

不适用

不适用

不是以“<character><character>--”开头

a--example.com

不适用

不适用

不是以“<character><character>--”开头

abc--example.com

不适用

不适用

不是以“<character><character>--”开头

xn--xyz.com

支持

有效的国际化域名(解析为简.com)

xn--example.com

不是有效的国际化域名

ab--example.com

必须以“xn--”开头

有效期

ACM 证书的有效期为 13 个月(395 天)。

通配符名称

ACM 允许在域名中使用星号 (*) 来创建通配符证书,该证书可以保护同一个域中的多个站点。例如,*.example.com 可以保护 www.example.comimages.example.com

在通配符证书中,星号 (*) 必须位于域名的最左侧,而且只保护一个子域级别。例如,*.example.com 保护 login.example.comtest.example.com,但不保护 test.login.example.com。此外,*.example.com保护子域,而不保护裸域或顶点域 (example.com)。您可以通过指定多个域名(例如 example.com*.example.com)为裸域及其子域申请证书。

重要

如果您使用 CloudFront,请注意 HTTP 验证不支持通配符证书。对于通配符证书,必须使用 DNS 验证或电子邮件验证。我们建议 DNS 验证,因为它支持自动续订证书。