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

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

为 Texas Instruments CC3220SF-LAUNCHXL 创建代码签名证书

重要

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

对于固件代码签名,SimpleLink Wi-Fi CC3220SF Wireless Microcontroller Launchpad 开发工具包支持两种证书链:

  • 生产 (certificate-catalog)

    要使用生产证书链,必须购买商用代码签名证书,并使用 TI Uniflash 工具将主板设置为生产模式。

  • 测试和开发 (certificate-playground)

    Playground 证书链允许您使用自签名代码签名证书试用 OTA 更新。

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

下载并安装最新版本的 SimpleLink CC3220 开发工具包。默认情况下,所需的文件位于以下位置:

C:\ti\simplelink_cc32xx_sdk_version\tools\cc32xx_tools\certificate-playground (Windows)

/Applications/Ti/simplelink_cc32xx_version/tools/cc32xx_tools/certificate-playground (macOS)

SimpleLink CC3220 SDK 中的证书为 DER 格式。要创建自签名代码签名证书,必须将其转换为 PEM 格式。

按照以下步骤创建代码签名证书,该证书与 Texas Instruments 操场证书层次结构相链接,并符合 Amazon Certificate Manager 和 Code Signing for Amazon IoT 标准。

注意

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

创建自签名代码签名证书
  1. 使用管理员权限打开命令提示符或终端。

  2. 在工作目录中,使用以下文本创建名为 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
  3. 创建私有密钥和证书签名请求 (CSR):

    openssl req -config cert_config.txt -extensions my_exts -nodes -days 365 -newkey rsa:2048 -keyout tisigner.key -out tisigner.csr
  4. 将 Texas Instruments 操场根 CA 私有密钥从 DER 格式转换为 PEM 格式。

    TI 操场根 CA 私有密钥位于以下位置:

    C:\ti\simplelink_cc32xx_sdk_version\tools\cc32xx_tools\certificate-playground\dummy-root-ca-cert-key (Windows)

    /Applications/Ti/simplelink_cc32xx_sdk_version/tools/cc32xx_tools/certificate-playground/dummy-root-ca-cert-key (macOS)

    openssl rsa -inform DER -in dummy-root-ca-cert-key -out dummy-root-ca-cert-key.pem
  5. 将 Texas Instruments 操场根 CA 证书从 DER 格式转换为 PEM 格式。

    TI 操场根证书位于以下位置:

    C:\ti\simplelink_cc32xx_sdk_version\tools\cc32xx_tools\certificate-playground/dummy-root-ca-cert (Windows)

    /Applications/Ti/simplelink_cc32xx_sdk_version/tools/cc32xx_tools/certificate-playground/dummy-root-ca-cert (macOS)

    openssl x509 -inform DER -in dummy-root-ca-cert -out dummy-root-ca-cert.pem
  6. 使用 Texas Instruments 根 CA 对 CSR 进行签名:

    openssl x509 -extfile cert_config.txt -extensions my_exts -req -days 365 -in tisigner.csr -CA dummy-root-ca-cert.pem -CAkey dummy-root-ca-cert-key.pem -set_serial 01 -out tisigner.crt.pem -sha1
  7. 将代码签名证书 (tisigner.crt.pem) 转换为 DER 格式:

    openssl x509 -in tisigner.crt.pem -out tisigner.crt.der -outform DER
    注意

    稍后可将 tisigner.crt.der 证书写入到 TI 开发主板上。

  8. 将代码签名证书、私有密钥和证书链导入 Amazon Certificate Manager 中:

    aws acm import-certificate --certificate fileb://tisigner.crt.pem --private-key fileb://tisigner.key --certificate-chain fileb://dummy-root-ca-cert.pem

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

    注意

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