本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在客户端连接时注册客户端证书 AWS IoT just-in-time 注册 (JITR)
您可以配置 CA 证书以启用其已签名注册的客户端证书 AWS IoT 客户端首次连接时自动连接 AWS IoT.
在客户端连接时注册客户证书 AWS IoT 首次必须启用 CA 证书以进行自动注册,并将客户端的第一个连接配置为提供所需的证书。
配置 CA 证书以支持自动注册(控制台)
要将 CA 证书配置为支持自动客户端证书注册,请使用 AWS IoT Console
-
登录 AWS 管理控制台并打开 AWS IoT 控制台
。 -
在左侧导航窗格中,选择 “安全”,选择CAs。
-
在证书颁发机构列表中,找到要启用自动注册的颁发机构,然后使用省略号图标打开选项菜单。
-
在选项菜单上,选择启用自动注册。
注意
证书颁发机构列表中不显示自动注册状态。要查看证书颁发机构的自动注册状态,您必须打开证书颁发机构的详细信息页面。
配置 CA 证书以支持自动注册 (CLI)
如果您已经向注册了 CA 证书 AWS IoT,使用update-ca-certificateautoRegistrationStatus
ENABLE
。
aws iot update-ca-certificate \ --certificate-id
caCertificateId
\ --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
配置客户端的首次连接以进行自动注册
当客户端尝试连接时 AWS IoT 在传输层安全 (TLS) 握手期间,由您的 CA 证书签名的客户端证书必须首次出现在客户端上。
当客户端连接到 AWS IoT,使用你在 “创建” 中创建的客户证书 AWS IoT 客户证书或创建自己的客户端证书。 AWS IoT 将 CA 证书识别为已注册的 CA 证书,注册客户端证书,并将其状态设置为PENDING_ACTIVATION
。这意味着,已自动注册客户端证书,该证书正在等待激活。客户端证书的状态必须为,ACTIVE
然后才能用于连接 AWS IoT。 有关激活客户端证书的信息,请参阅激活或停用客户端证书。
注意
你可以使用配置设备 AWS IoT Core just-in-timeregistration (JITR) 功能,无需在设备首次连接时将整个信任链发送到 AWS IoT Core。 出示 CA 证书是可选的,但是设备需要在连接时发送服务器名称指示 (SNI)
时间 AWS IoT 自动注册证书,或者当客户出示PENDING_ACTIVATION
状态为证书时, AWS 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 注册客户证书 AWS IoTcaCertificateID
如果在自动注册客户证书的过程中出现任何错误或异常, AWS IoT 向 Logs 中的 CloudWatch 日志发送事件或消息。有关为您的账户设置日志的更多信息,请参阅 Amazon CloudWatch 文档。