Matter实战系列-----5.matter设备证书烧录

news2024/11/26 23:33:19

一、安装工具

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/649605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

启动appium服务的2种方法(python脚本cmd窗口)

目录 前言: 1. 通过cmd窗口命令启动 1.1 启动单个appium服务 1.2 启动多个appium服务 2. 通过python脚本来启动 2.1 启动单个appium服务 2.2 启动多个appium服务 3. 启动校验 3.1 通过cmd命令查看 3.1.1 查看指定端口号 3.1.2 查看全部端口号 3.2 通过生…

华为笔记本怎么用U盘重装Win10系统?

华为笔记本怎么用U盘重装Win10系统?华为笔记本拥有指纹识别、背光键盘、信号增强等功能,带给用户超棒的操作体验,用户现在想用U盘来重装华为笔记本Win10系统,但不知道具体怎么操作,这时候用户就可以按照以下分享的华为…

CMAC算法介绍

文章目录 一、简介二、符号三、步骤3.1 子秘钥生成3.2 计算MAC值 一、简介 CMAC(Cipher Block Chaining-Message Authentication Code),也简称为CBC_MAC,它是一种基于对称秘钥分组加密算法的消息认证码。由于其是基于“对称秘钥分…

网络安全|渗透测试入门学习,从零基础入门到精通—渗透中的开发语言

目录 前面的话 开发语言 1、html 解析 2、JavaScript 用法 3、JAVA 特性 4、PHP 作用 PHP 能做什么? 5、C/C 使用 如何学习 前面的话 关于在渗透中需要学习的语言第一点个人认为就是可以打一下HTML,JS那些基础知识,磨刀不误砍柴…

RTU遥测终端机的应用场景有哪些?

遥测终端机又称智能RTU遥测终端机,是一种用于采集、传输和处理遥测数据的设备。在现代科技的发展中,遥测终端机扮演着重要的角色。它是一种能够实现远程监测和控制的关键设备,广泛应用于各个领域,包括水文水利、环境监测、工业自动…

Linux系统:优化命令sar

目录 一、理论 1.命令描述 2.命令作用 3.命令参数 4.实用实例 二、实验 1.压力测试 三、问题 1.Linux系统五大负载如何解决 2.为什么使用ab命令进行网络传输数据的压力测试 3.ab命令发送请求测试失败 四、总结 1.sar命令 2.ab命令 3.五大负载 一、理论 1.命令描…

MySQL的索引(我把梦想卖了 换成了柴米油盐)

文章目录 一、索引的概念二、索引的作用如何实现? 三、索引的副作用四、创建索引的原则依据创建索引的依据 五、索引的分类六、索引的增删改查1.创建索引(1)创建普通索引(2)创建唯一索引(3)创建…

Spring Boot进阶(51):Spring Boot项目如何集成 HTML?| 超级详细,建议收藏

1. 前言🔥 我们都知道,Spring Boot作为一款广泛应用于企业级的开发框架,其通过简化开发过程、提高开发效率赢得了众多开发者的青睐。在实际项目开发中,集成 HTML作为 Web 应用程序中的一个基本需求,也是现在极其常见的…

618最值得入手的数码产品有哪些?四款必入数码产品数码推荐

时间飞逝,不知不觉已经过了6月中旬,大家心心念念的618年中大促也即将迎来最后一波高潮。这次618大促各大品牌的优惠力度都非常可观,特别是数码产品类,可以说是今年最值得入手的时期。今天也为大家推荐几款高颜值数码好物&#xff…

在 Apple silicon Mac 上 DFU 模式修复或恢复 macOS 固件

搭载 Apple 芯片的 Mac 电脑 DFU 模式全新安装 macOS Ventura 请访问原文链接:https://sysin.org/blog/apple-silicon-mac-dfu/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Mac computers with Apple silicon&a…

聚焦2023数博会|高端对话,大咖观点精彩荟萃(上)

当前数据作为新型生产要素,是数字化、网络化、智能化的基础,已快速融入生产、分配、流通、消费和社会服务管理等各环节,深刻改变着生产方式、生活方式和社会治理方式。数据基础制度建设事关国家发展和安全大局。为加快构建数据基础制度&#…

【C++】手撕跳表

文章目录 跳表简介时间复杂度 代码实现节点类跳表类 源代码(附详细注释)参考 跳表 简介 跳表全称为跳跃列表,它允许快速查询,插入和删除一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(logn)。快速查询是…

代码随想录二叉树 Java(三)

文章目录 (简单)501. 二叉搜索树中的众数(*中等)236. 二叉树的最近公共祖先(中等)235. 二叉搜索树的最近公共祖先(中等)701. 二叉搜索树中的插入操作(*中等)4…

软件测试中如何编写单元测试用例(白盒测试)

目录 前言: 一、 单元测试的概念 二、开始测试前的准备 三、开始测试 四、完成测试 前言: 单元测试是软件测试中一种重要的测试方法,它是在代码级别进行测试,通过对每个模块或功能进行独立测试来保障代码的正确性和可靠性。…

实验篇(7.2) 11. 站对站安全隧道 - 双方互相发起连接(FortiGate-IPsec) ❀ 远程访问

【简介】前面我们实验的是FortiClient客户端与防火墙进行VPN连接,现在我们要做的实验是防火墙与防火墙之间进行VPN连接。现在我们来看看两台防火墙之间要怎样创建VPN连接。 实验要求与环境 OldMei集团深圳总部部署了域服务器和ERP服务器,用来对集团总部进…

【探索 Kubernetes|容器基础进阶篇 系列 3】容器进程的文件系统

文章目录 系列文章目录👹 关于作者一、回顾二、容器进程的文件系统是什么样子的?rootfs一致性解决应用依赖关系解决复用性 三、OverlayFS 联合文件系统先决条件overlay2 驱动程序如何工作结构图探索含义-磁盘上的镜像层和容器层镜像层容器层 四、overlay…

动态规划dp —— 26.环绕字符串中唯一的子字符串

1.状态表示 是什么?dp表中里的值所表示的含义就是状态表示 dp[i]表示:以i位置元素为结尾的所有的子串里面,有多少个在base中出现过 2.状态转移方程 dp[i] 等于什么 如果是单个字母的子串,肯定会在base中出现,所以…

一文详解!appium自动化测试

目录 前言: Appinum前置知识 Andriod SDK 元素获取—UI Automator adb命令实践 adb常用命令 小结 Package与Activity Activity页面布局元素 monkey简介 monkey事件 操作事件简介 monkey参数 事件类参数 约束类参数 调试类参数 Monkey参数应用综合案…

生成式AI - 关键技术历史和发展

✈️当谈及生成式人工智能(AI),我们进入了一个令人惊叹的领域,它不仅改变了我们与技术的互动方式,而且极大地推动了人工智能的发展。通过模仿人类创造力和想象力的能力,生成式AI引领着我们走向了全新的可能…

re模块

目录 ❤ 正则表达式 常用正则 字符组 字符 量词 ❤ 正则表达式的使用 . ^ $ * ? { } 字符集[][^] 分组 ()与 或 |[^] 转义符 \ 贪婪匹配 ❤ re模块 常量、属性 常用方法 re.co…