1. 功能概述¶
本文的demo sample实现将RSA私钥导入HSM中,并使用此私钥调用HSM engine进行RSA签名;将证书存储到RPMB中,从RPMB中读取证书并解析,获取到公钥,并使用此公钥进行RSA验签。 RSA验签可以选择使用openssl 软件算法,也可以选择调用HSM engine。
1.1. 软件架构说明¶
软件架构框图如下图所示 :

1.2. 软件流程说明¶
本sample主要流程如下:
调用安全存储接口,将私钥导入到HSM中,得到私钥的keyid;
调用openssl api,使用openssl hsm engine,进入到HSM利用私钥keyid完成RSA签名;
调用安全存储接口,将证书存储到RPMB中;
调用安全存储接口,从RPMB中读取证书,并调用openssl api,验证证书的有效性;
从证书中获取公钥,调用openssl api,使用openssl软件算法完成RSA验签;
从证书中获取公钥,调用安全存储接口,将公钥导入到HSM中,得到公钥的keyid,使用openssl hsm engine,进入到HSM利用公钥keyid成RSA验签;
清理资源。
1.3. 代码位置及目录结构¶
代码位置如下:
目录结构如下:
2. 编译¶
2.1. 编译环境¶
本sample的编译环境使用SDK中的build工具,请参考: Build 环境建立。
编译命令
3. 运行¶
3.1. 支持平台¶
J6X Matrix
3.2. 运行指南¶
3.2.1. 运行环境搭建¶
1.确认SOC软件版本,并更新软件版本至当前发版的最新版本;
2.升级SOC的全量包,确保/app分区被升级;
3.2.2. 执行sample¶
运行sample: