创建 BYOC (ECDSA) - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

创建 BYOC (ECDSA)

在这些步骤中,您将使用 AWS IoT 控制台、AWS Command Line Interface 和 OpenSSL 为 AWS 云上的设备创建并注册证书和密钥。请确保您已在计算机上安装并配置了 AWS CLI,然后才能运行 AWS CLI 命令。

注意

创建 CA 证书时,在提示时请为可分辨名称 (DN) 字段使用一致的有效值。对于“Common Name (公用名)”字段,您可以使用任意值,除非另有说明。

生成根 CA

  1. 使用以下命令生成根 CA 私有密钥:

    openssl ecparam -name prime256v1 -genkey -noout -out rootCA.key
  2. 使用以下命令生成根 CA 证书:

    openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt

生成中间 CA

  1. 创建所需的文件:

    touch index.txt
    echo 1000 > serial
  2. ca.config 文件保存到当前工作目录中。

  3. 使用以下命令来生成中间 CA 的私有密钥:

    openssl ecparam -name prime256v1 -genkey -noout -out intermediateCA.key
  4. 使用以下命令来生成中间 CA 的 CSR:

    openssl req -new -sha256 -key intermediateCA.key -out intermediateCA.csr
  5. 使用以下命令将中间 CA 的 CSR 注册到根 CA:

    openssl ca -config ca.config -notext -cert rootCA.crt -keyfile rootCA.key -days 500 -in intermediateCA.csr -out intermediateCA.crt

生成设备证书

注意

此处使用的 ECDSA 证书为示例。

  1. 使用以下命令生成私有密钥。

    openssl ecparam -name prime256v1 -genkey -noout -out deviceCert.key
  2. 使用以下命令为设备证书生成 CSR :

    openssl req -new -key deviceCert.key -out deviceCert.csr
  3. 使用以下命令将设备证书注册到中间 CA:

    openssl x509 -req -in deviceCert.csr -CA intermediateCA.crt -CAkey intermediateCA.key -CAcreateserial -out deviceCert.crt -days 500 -sha256

注册 CA 证书

  1. 使用以下 AWS CLI 命令获取注册代码:

    aws iot get-registration-code
  2. 使用以下命令为验证证书生成私有密钥:

    openssl ecparam -name prime256v1 -genkey -noout -out verificationCert.key
  3. 使用以下命令为验证证书创建 CSR:

    openssl req -new -key verificationCert.key -out verificationCert.csr

    在系统提示时,对于 Common Name,输入您在第一步中获取的注册代码。

  4. 通过以下命令使用根 CA 签名验证证书:

    openssl x509 -req -in verificationCert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out rootCAverificationCert.crt -days 500 -sha256
  5. 通过以下命令使用中间 CA 签名验证证书:

    openssl x509 -req -in verificationCert.csr -CA intermediateCA.crt -CAkey intermediateCA.key -CAcreateserial -out intermediateCAverificationCert.crt -days 500 -sha256
  6. 使用以下 AWS CLI 命令将两个 CA 证书注册到 AWS IoT:

    aws iot register-ca-certificate --ca-certificate file://rootCA.crt --verification-cert file://rootCAverificationCert.crt
    aws iot register-ca-certificate --ca-certificate file://intermediateCA.crt --verification-cert file://intermediateCAverificationCert.crt
  7. 使用以下 AWS CLI 命令激活两个 CA 证书:

    aws iot update-ca-certificate --certificate-id ID --new-status ACTIVE

    其中 ID 是其中一个证书的证书 ID。

注册设备证书

  1. 使用以下 AWS CLI 命令将设备证书注册到 AWS IoT:

    aws iot register-certificate --certificate-pem file://deviceCert.crt --ca-certificate-pem file://intermediateCA.crt
  2. 使用以下 AWS CLI 命令激活设备证书:

    aws iot update-certificate --certificate-id ID --new-status ACTIVE

    其中,ID 是证书的证书 ID。