本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在客户端连接到注册 (JITR) 时Amazon IoT just-in-time 注册客户端证书
您可以配置 CA 证书,以便在客户端首次连接到 Amazon IoT 时,允许使用它签发的客户端证书自动注册到 Amazon IoT。
要在客户端首次连接到 Amazon IoT 时注册客户端证书,您必须启用 CA 证书进行自动注册,并配置客户端在首次连接时提供所需的证书。
配置 CA 证书以支持自动注册(控制台)
使用 Amazon IoT 控制台配置 CA 证书以支持自动客户端证书注册
-
登录 Amazon 管理控制台,打开 Amazon IoT 控制台
。 -
在左侧的导航窗格中,依次选择安全、CA。
-
在证书颁发机构列表中,找到要启用自动注册的颁发机构,然后使用省略号图标打开选项菜单。
-
在选项菜单上,选择启用自动注册。
注意
证书颁发机构列表中不显示自动注册状态。要查看证书颁发机构的自动注册状态,您必须打开证书颁发机构的详细信息页面。
配置 CA 证书以支持自动注册 (CLI)
如果您已将 CA 证书注册到 Amazon IoT,请使用 update-ca-certificateautoRegistrationStatus 设置为 ENABLE。
aws iot update-ca-certificate \ --certificate-idcaCertificateId\ --new-auto-registration-status ENABLE
如果您要在注册 CA 证书时启用 autoRegistrationStatus,请使用 register-ca-certificate
aws iot register-ca-certificate \ --allow-auto-registration \ --ca-certificate file://root_CA_cert_filename.pem\ --verification-cert file://verification_cert_filename.pem
使用 describe-ca-certificate
配置客户端的首次连接以进行自动注册
当客户端首次尝试连接到 Amazon IoT 时,作为 TLS 握手的一部分,必须提供一个文件,其中包含由 CA 证书签发的客户端证书。
在客户端连接到 Amazon IoT 时,将 文件用作证书文件。Amazon IoT 会将 CA 证书识别为已注册的 CA 证书,注册客户端证书并将其状态设置为 client_certificate_filenamePENDING_ACTIVATION。这意味着,已自动注册客户端证书,该证书正在等待激活。客户端证书的状态必须为 ACTIVE,然后才能将其用于连接到 Amazon IoT。
注意
您可以使用Amazon IoT Core just-in-time 注册 (JITR) 功能预调配设备,而无需将设备首次连接上的整个信任链发送到Amazon IoT Core。可以出示 CA 证书,但连接时设备需要发送服务器名称指示 (SNI)
当 Amazon IoT 自动注册证书时或者当客户端提供处于 PENDING_ACTIVATION 状态的证书时,Amazon IoT 将向以下 MQTT 主题发布消息:
$aws/events/certificates/registered/caCertificateId
其中 是颁发客户端证书的 CA 证书的 ID。caCertificateId
发布到该主题的消息具有以下结构:
{ "certificateId": "certificateId", "caCertificateId": "caCertificateId", "timestamp":timestamp, "certificateStatus": "PENDING_ACTIVATION", "awsAccountId": "awsAccountId", "certificateRegistrationTimestamp": "certificateRegistrationTimestamp" }
您可以创建一项规则,以侦听此主题并执行一些操作。我们建议您创建一项 Lambda 规则,以验证客户端证书不在证书吊销列表 (CRL) 中,激活该证书,创建策略并将其附加到证书中。该策略将确定客户端能够访问的资源。有关如何创建可侦听$aws/events/certificates/registered/主题并执行这些操作的 Lambda 规则的更多信息,请参阅上的客户端证书just-in-time 注册Amazon IoTcaCertificateID
如果在自动注册客户端证书期间发生任何错误或异常,将向您的 Logs 日志Amazon IoT发送相关事件或消息。 CloudWatch 有关如何为您的账户设置日志的更多信息,请参阅亚马逊 CloudWatch 文档。