一、安装工具
1.1 安装Commander_Linux工具
下载地址
https://www.silabs.com/documents/public/software/SimplicityCommander-Linux.zip
下载完之后解压缩,在压缩包内执行命令如下
tar jxvf Commander_linux_x86_64_1v15p0b1306.tar.bz
cd ./commander
./commander
添加到系统变量
sudo vim /etc/profile
将 Commander 路径添加添加到文件中的最后一行,在任何目录下,输入 commander 即可打开 Commander 工具
source /etc/profile
1.2 安装JLink工具
下载地址
https://www.segger.com/downloads/jlink/JLink_Linux_V788g_x86_64.deb
安装jlink
sudo dpkg -i JLink_Linux_V788g_x86_64.deb
1.3 安装交叉编译环境GCC
下载地址:
https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi.tar.xz?rev=99a2bce6f4464be08eca01eda13e4e96&hash=C1BA53B2F16F00A518C5781098C2E56144EA3FCD
复制到matter文件夹,输入命令解压:
tar -xvf gcc-arm-11.2-2022.02-x86_64-arm-none-eabi.tar.xz
1.4 编译chip-cert工具
source ./scripts/activate.sh
gn gen out/host
ninja -C out/host chip-cert
使用方式参考
./out/host/chip-cert gen-att-cert --help
./out/host/chip-cert gen-cd -help
1.5 利用 chip-cert 工具生成测试 PAI 证书、PAI 私钥和 CD
./out/host/chip-cert gen-att-cert --type i --subject-cn "Matter Test PAI" --subject-vid 1049 --valid-from "2023-1-15 14:30:00" --lifetime 4294967295 --ca-key credentials/test/attestation/Chip-Test-PAA-NoVID-Key.pem --ca-cert credentials/test/attestation/Chip-Test-PAA-NoVID-Cert.pem --out-key ./Silabs-Test-PAI-Key.pem --out ./SilabsTest-PAI-Cert.pem
参数说明:
type i
是指生成
PAI
证书类型。
subject-cn
是指证书主题的
DN
名。
subject-vid
是指证书主题的
Verdor ID
。
valid-from
是指证书有效期的开始时间。
lifetime
是指证书的有效期,以天为单位,
4294967295
代表证书永远有效,不会过期。
ca-key
是指给颁发证书进行签名的
CA
机构的私钥。
ca-cert
是指给颁发证书进行签名的
CA
机构的证书。
spake2_iteration
和
--spake2_salt
,它们是生成
spake2_verifier
的参数,可使用命
令:
./out/host/spake2p gen-verifier --help
查看其详细说明。
out-key
是指生成的证书里面包含的公钥对应的私钥。
out
是指生成的证书。
打印密钥
cat SilabsTest-PAI-Cert.pem
cat Silabs-Test-PAI-Key.pem
生成Silabs-Test-CD.bin文件
./out/host/chip-cert gen-cd --cert ./credentials/test/certification-declaration/Chip-Test-CD-Signing-Cert.pem --key ./credentials/test/certification-declaration/Chip-Test-CD-Signing-Key.pem --out ./Silabs-Test-CD.bin --format-version 1 --vendor-id 1049 --product-id 5555 --device-type-id 0016 --certificate-id "ZIG0000000000000001" --security-level 0 --security-info 0 --version-number 0005 --certification-type 0
参数说明:
cert
是指签名私钥对应的证书,里面包含公钥信息。
key
是指私钥,用来对
CD
进行签名。
out
是指生成的
CD
文件。
format-version
是指
CD
格式版本号。
vendor-id
是指
CD
对应的
Vendor ID
。
product-id
是指
CD
对应的
Product ID
。
device-type-id
是指
CD
对应的设备类型。
certificate-id
是指
CD
对应的证书
ID
。
security-level
是指
CD
对应的安全等级。
security-info
是指
CD
对应的安全信息。
version-number
是指
CD
对应的版本号。
certification-type
是指
CD
对应的证书类型,
0
表示用于开发和测试的
CD
。
将生成的测试 PAI 证书、PAI 私钥和 CD 拷贝到 silabs_examples/credentials/目录
cp ./Silabs-Test-* ./silabs_examples/credentials/
搭建 Silicon Labs 的 creds.py 脚本执行环境
cd ./silabs_examples/credentials
export BASE_SDK_PATH=~/matter/third_party/silabs/gecko_sdk
export ARM_GCC_DIR=~/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi