AWS IoT
开发人员指南

X.509 证书和 AWS IoT

客户端身份验证

AWS IoT 可以使用 AWS IoT 生成的证书或 CA 证书签发的证书执行设备身份验证。由 AWS IoT 生成的证书是长期有效的(但将在 2049-12-31T23:59:59Z 到期,即格林威治标准时间 2049 年 12 月 31 日午夜)。 对于 CA 证书签发的证书的过期日期和时间,将在创建 CA 证书时设置。

注意

我们建议为每个设备提供一个唯一的证书,以便进行精细的管理,包括证书吊销。

设备必须支持轮换和更换证书,以确保证书过期时仍能顺畅运行。

要使用并非由 AWS IoT 创建的证书,您必须注册一个 CA 证书。所有设备证书都必须由您注册的 CA 证书签发。

您可以使用 AWS IoT 控制台或 CLI 执行以下操作:

  • 创建并注册 AWS IoT 证书。

  • 注册 CA 证书。

  • 注册设备证书。

  • 激活或停用设备证书。

  • 撤销设备证书。

  • 将设备证书转移到其他 AWS 账户。

  • 列出注册到您的 AWS 账户的所有 CA 证书。

  • 列出注册到您的 AWS 账户的所有设备证书。

有关用于执行这些操作的 CLI 命令的更多信息,请参阅 AWS IoT CLI 参考

有关使用 AWS IoT 控制台创建证书的更多信息,请参阅创建和激活设备证书

服务器身份验证

服务器证书可让您的设备验证其是否正在与 AWS IoT 而非其他假冒 AWS IoT 的服务器进行通信。需要将服务证书复制到您的设备上,并在连接到 AWS IoT 时引用该证书。有关更多信息,请参阅 AWS IoT 设备开发工具包。AWS IoT 服务器证书由下列 CA 证书之一进行签名:

VeriSign 终端节点(传统)

Amazon Trust Services 终端节点(首选)

我们建议所有客户创建 Amazon Trust Services (ATS) 终端节点并将这些 CA 证书加载到他们的设备,这样可避免 Symantec CA(包括 VeriSign)的浏览器在 2018 年 10 月出现的广泛不信任发生任何问题。为了向后兼容,我们仍支持客户使用这些终端节点。客户可通过调用带有 iot:Data-ATS endpointType 的 describe-endpoint API,创建 ATS 终端节点。ATS 终端节点上运行的设备与同一账户中 Symantec 终端节点上运行的设备可完全互操作,并且不需要任何重新注册。

aws iot describe-endpoint --endpoint-type iot:Data-ATS

在您的设备上存储所有这些证书会占用宝贵的内存空间。如果您的设备实施基于 RSA 的验证,则可以省略 Amazon Root CA 3Amazon Root CA 4 ECC 证书。如果您的设备实施基于 ECC 的证书验证,则可以省略 Amazon Root CA 1Amazon Root CA 2 RSA 证书。

从 2018 年 5 月 9 日 AWS IoT 核心的推出开始,亚太(孟买)区域中的所有新 AWS IoT 核心区域都将仅处理 ATS 证书。

注意

CA 证书具有一个过期日期,在该日期后,这些证书将无法用于验证服务器的证书。可能必须在 CA 证书的过期日期前替换这些证书。请确保可以更新所有设备上的根 CA 证书,以确保持续的连接并保持最新的安全最佳实践。