AWS IoT
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

X.509 证书和 AWS IoT

您的设备可以使用 X.509 证书在 AWS IoT 中进行身份验证。

客户端身份验证

您可以使用自签名证书,AWS IoT 也可以为您生成证书。要让 AWS IoT 为您生成证书,请使用 AWS IoT 控制台、create-keys-and-certificate CLI 命令或 CreateKeysAndCertificate API。AWS IoT 生成的证书长期有效,但在 2049-12-31T23:59:59Z 到期,即格林威治标准时间 2049 年 12 月 31 日午夜)。

要创建自签名证书,请使用 OpenSSL 或类似的工具集。您也可以注册一个 CA 证书,对您的自签名证书进行签名,然后在 AWS IoT 中注册该自签名证书。

要在 AWS IoT 中注册 CA 证书,请使用 register-ca-certificate CLI 命令或 RegisterCaCertificate API。使用注册的 CA 对您的自签名证书进行签名。然后,您可以使用 register-certificate CLI 命令或 RegisterCertificate API 在 AWS IoT 中注册使用注册的 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 设备 SDK

AWS IoT 服务器证书由下列 CA 证书之一签署:

VeriSign 终端节点(传统)

Amazon Trust Services 终端节点(首选)

  • RSA 2048 位密钥:Amazon Root CA 1

  • RSA 4096 位密钥:Amazon Root CA 2 - 保留供将来使用。

  • ECC 256 位密钥:Amazon Root CA 3

  • ECC 384 位密钥:Amazon Root CA 4 - 保留供将来使用。

我们建议所有客户创建 Amazon Trust Services (ATS) 终端节点并将这些 CA 证书加载到他们的设备,这样可避免 Symantec CA(包括 VeriSign)的浏览器在 2018 年 10 月出现的广泛不信任发生任何问题。为了保持向后兼容,我们仍然支持使用这些终端节点的客户。客户可以使用 iot:Data-ATS 终端节点类型调用 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 Core 开始,所有新的 AWS IoT Core 区域仅提供 ATS 证书。

注意

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

有关 AWS IoT 使用的 CA 证书的完整列表,请参阅 Amazon Trust Services