环境:米尔Hi3093开发板
代码: Index of /25.06/sourcecode/
基于这个帖子( 自签名CA创建以及HPM签名指导 - CICD SIG - openUBMC 论坛)生成了自己的rootca.der文件,将文件放到了partner/下,然后bingo编译生成过渡包(没有修改过manifest.yml内容),webui升级成功。
基于这个帖子( V2升级openUBMC2506升级问题解决经验分享 - 交流互助区 - openUBMC 论坛)的流程安装了bmcgo工具,并且可以成功编译,将之前生成的签名文件(rootca.crl rootca.der signer.pem ts_signer.pem tsa.cnf)放到ca下,通过bmcgo生成签名包是成功的,但是在升级时显示升级失败,一键升级后查看app.log发现报图片中的错,想问下有遇到过中情况的吗?有可能是什么原因导致的?可以通过什么方式排查下吗?(开发板是先升级了前面那个过渡包(bingo生成的),升级成功并且开发板正常运行后再升级的签名包(bmcgo生成的),然后显示升级失败)
从日志的报错信息来看,是解析根证书失败了。
请问过渡包是如何制作的?
解析自己添加的rootca.der这个根证书失败了,确认一下这个根证书是否能够使用
不好意思,您提到的这个确认根证书是否能够使用方便说下具体需要怎么验证吗?
过渡包制作:基于 Index of /25.06/sourcecode/ 2506这个版本代码,在partner文件夹下添加自己生成的rootca.der、rootca.crl、signer.pem、ts_signer.pem、tsa.cnf等文件,manifest没有其他代码修改,然后bingo编译。
这个过渡包, 只能升级带签名的包。
制作签名升级包时, 需要修改manifest.yml。 具体参考
我们在过渡包升级成功后升级的签名包就是参考这个帖子生成的,但是会报主贴的图片中的错误(报错误码ffffffff)。后续还尝试过生成过渡包时在manifest的ca目录下添加自己生成的ca证书,生成过渡包后升级成功,但是后续升级签名包会报错误码88000104。
这个报错的地方是在使用filelist.cms签名文件验签 hpm.filelist内容(验签hpm包), hpm.filelist是纯文本,那这个报错应该就是解析cms签名出错了。
附:
hpm包结构如下:
----------------------------------------
文件数、文件1的ID和大小、文件2的ID和大小、文件3的ID和大小。每个属性都是16进制字符串后占8个字节。
----------------------------------------
摘要信息/FILE_LIST
-----------------------------------------
签名数据/CMS_SIGN
-----------------------------------------
CRL文件/CMS_CRL
-----------------------------------------
固件内容
使用 head xx.hpm 可以查看hpm头部信息。
解密hpm里的config.tar.gz包失败。 过渡包制作缺少V2升级openUBMC2506升级问题解决经验分享 中的步骤7 。
可以了,感谢指导。


