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

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

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

  • 生产 (certificate-catalog)

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

  • 测试和开发 (certificate-playground)

    通过操场证书链,您可以尝试带自签名代码签名证书的 OTA 更新。

可使用 AWS Command Line Interface 将代码签名证书、私有密钥和证书链导入 AWS Certificate Manager 中。有关更多信息,请参阅 AWS Command Line Interface 用户指南 中的安装 AWS 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 操场证书层次结构相链接,并符合 AWS Certificate Manager 和 Code Signing for AWS 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. 将代码签名证书、私有密钥和证书链导入 AWS 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 AWS IoT 来签署固件映像。虽然我们推荐使用 Code Signing for AWS IoT,不过您也可以手动签署固件映像。