跳到主要内容
版本:v3.2.2

OnBoard™ IoT Security FW Signing and Pushing CLI - v1.0.0

1. 修订记录​

版本更改时间备注
v1.0.02025/02/17初始版本

2. 概述​

OnBoard™ IoT Security (OBIS) FW Signing and Pushing CLI 是专为 OBIS 打造的命令行工具,专门用于固件的签名与推送。它集成了多项核心功能,包括基于 PKI(公钥基础设施)的证书签名,KMS(密钥管理系统)的密钥配置,固件签名,公钥导出,以及向 OBIS 的固件推送。

本文将介绍 OBIS FW Signing and Pushing CLI 的常用命令,并提供各命令的参数说明与使用示例,帮助你高效完成固件签名与推送操作。

3. 语法​

snb [命令] [子命令] [参数]

4. 命令列表​

4.1 密钥配置命令​

设置访问密钥(Access Key)和私密密钥(Secret Key)。

4.1.1 命令​

config

4.1.2 参数​

参数类型是否必填说明
--accessKeystring是设置访问密钥,可在 OBIS 的用户页面中查看。
--secretKeystring是设置私密密钥,可在 OBIS 的用户页面中查看。

4.1.3 示例​

snb config --accessKey <AK> --secretKey <SK>

4.2 固件签名命令​

使用指定密钥对输入数据执行签名操作。

4.2.1 命令​

kms

4.2.2 子命令​

sign

4.2.3 参数​

参数类型是否必填说明
--algorithmstring是配置签名算法,当前支持 ecdsa_sha_256。
--keyIdstring是指定执行签名操作时使用的密钥 ID。
--inputFilestring否指定需要进行签名的目标文件。
--inputDatastring否输入需要签名的数据,格式为十六进制的字符串。
--inputHashstring否输入需要签名的预哈希数据,格式为十六进制的字符串。
--outputFilestring否指定签名结果的输出文件,格式为 .der。默认为标准输出(stdout)。
--resourcePackageIdstring否指定产品的资源包 ID。当访问产品密钥时,此参数为必填项。
提示
  • 必须在 inputFile,inputData 或 inputHash 中提供至少一个参数。
  • 当输出至标准输出(stdout)时,.der 格式的签名结果以十六进制字符串形式表示。

4.2.4 示例​

snb kms sign --algorithm ecdsa_sha_256 --keyId <keyID> --inputFile ./firmware.bin --outputFile ./signedResult.der

4.3 公钥导出命令​

导出指定密钥对的公钥。

4.3.1 命令​

kms

4.3.2 子命令​

exportPubKey

4.3.3 参数​

参数类型是否必填说明
--keyIdstring是指定要导出的密钥 ID。
--outputFormatstring是指定导出密钥的输出格式,可选 PEM 或 DER,默认格式为 DER。
--outputFilestring是指定导出密钥的输出文件,默认为标准输出(stdout)。
--resourcePackageIdstring否指定产品的资源包 ID。当所使用的访问密钥属于个人账户时,此参数为必填项。
提示

当输出至标准输出(stdout)时,.der 格式的签名结果以十六进制字符串形式表示。

4.3.4 示例​

snb kms exportPubKey --keyId <keyID> --outputFormat PEM --outputFile pubKey.pem

4.4 证书签名命令(例如 Matter DAC)​

使用指定的证书模板对证书签名请求(CSR)文件进行签名。

4.4.1 命令​

pki

4.4.2 子命令​

sign

4.4.3 参数​

参数类型是否必填说明
--inputFormatstring是指定输入文件的格式(PEM 或 DER),默认格式为 PEM。
--certTemplateIdstring是指定证书(例如 Matter DAC)的模板 ID。
--outputFormatstring是指定输出文件的格式(PEM 或 DER),默认格式为 DER。
--csrFilestring否指定 CSR 文件的路径。
--csrContentstring否提供 CSR 文件的内容。
--outputFilestring否指定输出文件的文件名,默认为标准输出(stdout)。
提示
  • 必须在 csrFile 或 csrContent 中提供至少一个参数。
  • 当输出至标准输出(stdout)时,.der 格式的签名结果以十六进制字符串形式表示。

4.4.4 示例​

snb pki sign --csrFile ./csr.der --inputFormat DER --certTemplateId 1F118749-EEB1-11EF-A430-B8CEF6C25058

4.5 固件推送命令​

推送签名后的固件文件至 OBIS。

4.5.1 命令​

obis

4.5.2 子命令​

push

4.5.3 参数​

参数类型是否必填说明
--filestring是指定要推送至 OBIS 的文件。
--fileTypestring是指定推送文件的类型:Application(默认),Bootloader 或 Others。
--resourcePackageIdstring是指定 OBIS 中目标产品下的资源包 ID。
--envstring是指定推送的目标环境:TEST 或 PROD。
--startAddressstring否指定固件的烧录起始地址,格式为以 0x 开头的十六进制数。
--versionstring否设置固件文件版本,最大长度为 16 个字符。允许使用的字符包括:文本,数字 (0-9),字母 (a-z, A-Z),点 (.),下划线 (_) 和连字符 (-)。
提示
  • 当推送文件的格式为 .bin 时,参数 startAddress 为必填项。
  • 参数 version,env 和 file 的组合必须是唯一的,不允许重复。

4.5.4 示例​

snb obis push --file ./lighting.s37 --fileType Application --resourcePackageId <id> --env TEST --version 1.0.0

5. 固件签名和推送示例​

截图展示了执行流程示例。

Footer Icon
Download Icon下载用户手册