本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Texas Instruments CC3220SF-LAUNCHXL 创建代码签名证书
此参考集成托管在 Amazon-FreeRTOS 存储库中,该存储库已过时。建议您创建新项目时从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅亚马逊 FreeRTOS Github 存储库迁移指南。
SimpleLink Wi-Fi CC3220SF 无线微控制器 Launchpad 开发套件支持两个用于固件代码签名的证书链:
-
生产 (certificate-catalog)
要使用生产证书链,必须购买商用代码签名证书,并使用 TI Uniflash 工具
将主板设置为生产模式。 -
测试和开发 (certificate-playground)
Playground 证书链允许你使用自签名的代码签名证书试用 OTA 更新。
可使用 Amazon Command Line Interface 将代码签名证书、私有密钥和证书链导入 Amazon Certificate Manager 中。有关更多信息,请参阅《Amazon Command Line Interface用户指南》Amazon CLI中的 “安装”。
下载并安装最新版本的 SimpleLink CC3220 SDK
C:\ti\simplelink_cc32xx_sdk_
(Windows) version
\tools\cc32xx_tools\certificate-playground
/Applications/Ti/simplelink_cc32xx_
(macOS)version
/tools/cc32xx_tools/certificate-playground
SimpleLink CC3220 SDK 中的证书采用 DER 格式。要创建自签名的代码签名证书,必须将其转换为 PEM 格式。
按照以下步骤创建代码签名证书,该证书与 Texas Instruments 操场证书层次结构相链接,并符合 Amazon Certificate Manager 和 Code Signing for Amazon IoT 标准。
要创建代码签名证书,请在计算机上安装 OpenSSLopenssl
分配给命令提示符或终端环境中的 OpenSSL 可执行文件。
创建自签名代码签名证书
-
使用管理员权限打开命令提示符或终端。
-
在工作目录中,使用以下文本创建名为
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 -
创建私有密钥和证书签名请求 (CSR):
openssl req -config cert_config.txt -extensions my_exts -nodes -days 365 -newkey rsa:2048 -keyout tisigner.key -out tisigner.csr
-
将 Texas Instruments 操场根 CA 私有密钥从 DER 格式转换为 PEM 格式。
TI 操场根 CA 私有密钥位于以下位置:
C:\ti\simplelink_cc32xx_sdk_
(Windows)version
\tools\cc32xx_tools\certificate-playground\dummy-root-ca-cert-key/Applications/Ti/simplelink_cc32xx_sdk_
(macOS)version
/tools/cc32xx_tools/certificate-playground/dummy-root-ca-cert-keyopenssl rsa -inform DER -in dummy-root-ca-cert-key -out dummy-root-ca-cert-key.pem
-
将 Texas Instruments 操场根 CA 证书从 DER 格式转换为 PEM 格式。
TI 操场根证书位于以下位置:
C:\ti\simplelink_cc32xx_sdk_
(Windows)version
\tools\cc32xx_tools\certificate-playground/dummy-root-ca-cert/Applications/Ti/simplelink_cc32xx_sdk_
(macOS)version
/tools/cc32xx_tools/certificate-playground/dummy-root-ca-certopenssl x509 -inform DER -in dummy-root-ca-cert -out dummy-root-ca-cert.pem
-
使用 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
-
将代码签名证书 (
tisigner.crt.pem
) 转换为 DER 格式:openssl x509 -in tisigner.crt.pem -out tisigner.crt.der -outform DER
注意 稍后可将
tisigner.crt.der
证书写入到 TI 开发主板上。 -
将代码签名证书、私有密钥和证书链导入 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,不过您也可以手动签署固件映像。