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网址。您必须设置从RedirectFrom到RedirectTo的重定向才能证明域控制权。RedirectFromURL 包括经过验证的域,而RedirectTo指向 CloudFront 基础架构中包含唯一验证令牌的 ACM 控制位置。 - 管理者
-
由其他服务管理的 ACM 中的证书在
ManagedBy字段显示该服务的身份。对于使用 CloudFront 的 HTTP 验证的证书,此字段显示“CLOUDFRONT”。这些证书只能通过 CloudFront 使用。ManagedBy字段显示在 DescribeCertificate 和 ListCertificates 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.comhttp://ocsp.*.amazontrust.com -
CRL
http://crl.?????.amazontrust.com/?????.crlhttp://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 而有所差别。有关详细信息,请参阅每个服务的文档:
-
对于 Elastic Load Balancing,请参阅 Application Load Balancer 的 HTTPS 侦听器。
-
对于 CloudFront,请参阅受支持的 SSL/TLS 协议和密码。
-
- 托管续订和部署
-
ACM 管理 ACM 证书的续订和预置。自动续订可以帮助避免因证书配置错误、吊销或过期而导致的停机。有关更多信息,请参阅 Amazon Certificate Manager 中的托管式证书续订。
- 多个域名
-
每个 ACM 证书必须至少包括一个完全限定域名 (FQDN),并且可以包括其他名称。例如,
www.example.com的证书也可以包括www.example.net。这也适用于裸域(机构根网域或裸域)。您可以为 www.example.com 请求证书并包括 example.com。有关更多信息,请参阅 Amazon Certificate Manager 公有证书。 - Punycode
-
-
以“<character><character>--”模式开头的域名必须与“xn--”一致。
-
以“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.com和images.example.com。在通配符证书中,星号 (
*) 必须位于域名的最左侧,而且只保护一个子域级别。例如,*.example.com保护login.example.com和test.example.com,但不保护test.login.example.com。此外,*.example.com仅保护子域,而不保护裸域或顶点域 (example.com)。您可以通过指定多个域名(例如example.com和*.example.com)为裸域及其子域申请证书。重要
如果您使用 CloudFront,请注意 HTTP 验证不支持通配符证书。对于通配符证书,必须使用 DNS 验证或电子邮件验证。我们建议 DNS 验证,因为它支持自动续订证书。