为 Espressif ESP32 创建代码签名证书 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 Espressif ESP32 创建代码签名证书

重要

该参考集成托管在已弃用的 Amazon-FreeRTOS 存储库中。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 Amazon-FreeRTOS Github 存储库迁移指南

Espressif ESP32 主板支持带 ECDSA 代码签名证书的自签名 SHA256。

注意

要创建代码签名证书,请在计算机上安装 OpenSSL。安装 OpenSSL 后,请确保将 openssl 分配给命令提示符或终端环境中的 OpenSSL 可执行文件。

可使用 Amazon Command Line Interface 将代码签名证书、私有密钥和证书链导入 Amazon Certificate Manager 中。有关安装 Amazon CLI 的信息,请参阅安装 Amazon CLI

  1. 在工作目录中,使用以下文本创建名为 cert_config.txt 的文件。将 test_signer@amazon.com 替换为您的电子邮件地址:

    [ req ] prompt = no distinguished_name = my_dn [ my_dn ] commonName = test_signer@amazon.com [ my_exts ] keyUsage = digitalSignature extendedKeyUsage = codeSigning
  2. 创建 ECDSA 代码签名私有密钥:

    openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -pkeyopt ec_param_enc:named_curve -outform PEM -out ecdsasigner.key
  3. 创建 ECDSA 代码签名证书:

    openssl req -new -x509 -config cert_config.txt -extensions my_exts -nodes -days 365 -key ecdsasigner.key -out ecdsasigner.crt
  4. 将代码签名证书、私有密钥和证书链导入 Amazon Certificate Manager 中:

    aws acm import-certificate --certificate fileb://ecdsasigner.crt --private-key fileb://ecdsasigner.key

    此命令显示了证书的 ARN。在创建 OTA 更新作业时需要此 ARN。

    注意

    编写此步骤时,假定您计划使用 Code Signing for Amazon IoT 来签署固件映像。虽然我们推荐使用 Code Signing for Amazon IoT,不过您也可以手动签署固件映像。