注册 CA 证书 - AWS IoT
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

注册 CA 证书

如果您使用由 AWS IoT 无法识别的证书颁发机构 (CA) 签发的客户端证书,则需要将您的 CA 注册到 AWS IoT。

如果您希望客户端在首次连接时自动将其客户端证书注册到 AWS IoT,则必须将签发该客户端证书的 CA 注册到 AWS IoT。否则,您不需要注册对客户端证书签发的 CA 证书。

注意

一个 CA 证书只能由一个区域中的一个账户注册。

注册 CA 证书(控制台)

注意

在开始之前,请确保您拥有根 CA 的证书文件和私有密钥文件。

此过程还需要使用命令行界面来运行 openssl 命令。

使用 AWS IoT 控制台注册 CA 证书

  1. 登录到 AWS 管理控制台,然后打开 AWS IoT 控制台

  2. 在左侧导航窗格中选择安全,然后依次选择CARegister

  3. 选择 CA 中,选择Register CA

  4. 注册 CA 证书中,按照显示的步骤操作。

    步骤 1-4 在命令行界面中执行。

    步骤 5 和步骤 6 需要在步骤 3 和 4 中创建的文件。

  5. 如果要在注册此证书时激活它,请选中激活 CA 证书

    CA 证书必须处于活动状态,由其签发的任何客户端证书才能进行注册。

  6. 如果要启用此证书以自动注册由此证书签发的客户端证书,请选择启用设备证书的自动注册

  7. 选择Register CA certificate完成注册。

CA 证书及其当前状态显示在证书颁发机构列表中。

注册 CA 证书 (CLI)

注意

在开始之前,请确保您拥有根 CA 的证书文件和私有密钥文件。

使用 AWS CLI 注册 CA 证书

  1. 使用 get-registration-code 从 AWS IoT 获取注册代码。保存返回的 registrationCode,将其用作私有密钥验证证书的 Common Name

    aws iot get-registration-code
  2. 为私有密钥验证证书生成密钥对:

    openssl genrsa -out verification_cert_key_filename 2048
  3. 为私有密钥验证证书创建证书签名请求 (CSR)。将证书的 Common Name 字段设置为 get-registration-code 返回的 registrationCode

    openssl req -new \ -key verification_cert_key_filename \ -out verification_cert_csr_filename

    将提示您输入一些信息,包括证书的Common Name

    You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) []: Locality Name (for example, city) []: Organization Name (for example, company) []: Organizational Unit Name (for example, section) []: Common Name (e.g. server FQDN or YOUR name) []:your_registration_code Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
  4. 使用 CSR 创建私有密钥验证证书:

    openssl x509 -req \ -in verification_cert_csr_filename \ -CA root_CA_pem_filename \ -CAkey root_CA_key_filename \ -CAcreateserial \ -out verification_cert_pem_filename \ -days 500 -sha256
  5. 在 AWS IoT 中注册 CA 证书。将 CA 证书文件名和私有密钥验证证书文件名传递给 register-ca-certificate 命令:

    aws iot register-ca-certificate \ --ca-certificate file://root_CA_pem_filename \ --verification-cert file://verification_cert_pem_filename

    如果成功,此命令将返回 certificateId

  6. 此时,CA 证书已注册到 AWS IoT,但未激活。CA 证书必须处于活动状态,由其签发的任何客户端证书才能进行注册。

    此步骤将激活 CA 证书。

    使用 update-certificate CLI 命令激活 CA 证书:

    aws iot update-ca-certificate \ --certificate-id certificateId \ --new-status ACTIVE

使用 describe-ca-certificate 命令查看 CA 证书的状态。