如何实现 ESP 设备多证书管理?

  • 设置特定分区存储证书文件
  • 多证书文件管理
  • 证书格式转换
  • 将证书下载到 Flash
  • 使用对应的证书文件

1、设置特定分区存储证书文件

在项目工程分区表文件中定义证书文件分区,如下:

在这里插入图片描述

  • 如上,转换的 certificate.bin 下载地址就为 0x41000
  • 证书固件的大小为 300 KB,需要确保分区不重叠, bin 文件大小满足 Flash Size 设置

2、多证书文件管理

  • 客户工程下创建一个 customized 文件夹
  • 在 customized 文件夹目录下创建 certificate 文件夹和 certificate.csv 文件
  • certificate 文件夹下存放各种证书文件,例如 server_ca.crtserver_cert.crtserver.key
  • certificate.csv 文件下,按照如下格式指定各种证书的文件路径:
key,type,encoding,value
server_cert,namespace,,
server_cert,file,binary,E:\esp\test\customized\server_cert\server_cert.crt
server_key,namespace,,
server_key,file,binary,E:\esp\test\customized\server_key\server.key
server_ca,namespace,,
server_ca,file,binary,E:\esp\test\customized\server_ca\server_ca.crt

在这里插入图片描述

支持被管理的文件类型参见:CSV 文件格式 说明。

  • 不同的存储类型,需要设置不同的 Encoding
    在这里插入图片描述

3、证书格式转换

E:\esp\test\customized\certificate.csv 文件转换为 certificate.bin 格式

NVS 脚本工具使用说明参见“NVS 分区生成程序”

指令为:

python nvs_partition_gen.py generate E:\esp\test\customized\certificate.csv certificate.bin 0x4B000

0x4B000 为转换的 bin 文件大小

在这里插入图片描述


4、将证书下载到 Flash

如上分区表设置,转换的 certificate.bin 下载地址就为 0x41000,直接使用 Flash 下载工具下载 certificate.bin 文件即可

  • 若需要替换新的证书文件,只需要对应替换 E:\esp\test\customized\certificate 文件夹下的证书文件,然后使用 nvs_partition_gen.py 脚本工具来进行证书文件格式转换为 bin 固件
  • 可不需要将新的证书放到工程下重新编译工程来获取证书固件(bin 文件)

5、使用对应的证书文件

当应用程序中需要使用证书文件时,使用 nvs_open_from_partition API 来获取证书文件,对应参数设置如下:

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值