如何查看一个hpm包的ca有效期?

是否需要把hpm包的头部拆分出来?还是可以直接查看呢?

建议在证书管理平台查看证书到期时间;若需确认是否被吊销,请通过 OCSP 或下载 CRL 校验。注意:CRL 的 Next Update 是列表的更新时间,不是证书有效期。

正常你用闭源组件bmcgo工具编译代码,binwalk提取,应该只能提取终端证书,提取不了ca证书的相关信息。GitCode - 全球开发者的开源社区,开源代码托管平台

bingo的这份源码里调用的是: cms = CMS_sign(scert, skey, NULL, in, (unsigned int)flags);—— 第三个参数传 NULL,意味着不附带任何额外证书;社区bingo本身cms也不携带rootca。如下我这个图是bmcgo闭源组件的提取,只能提取终端证书。

bingo构建流程里确有 cat rootca.der ,再封装成 .hpmCMS 本身不含 rootCA,你可以按照我的操作进行提取,但是我看伙伴一般都是闭源组件bmcgo,不会去使用bingo的,我也去尝试使用bingo 生成的release去提取,确实可以提取到rootca。

ls -al hpm_top_header Hi1711_boot_4096.bin Hi1711_boot_pmode.bin hpm_sub_header rootca.der rootfs_iBMC.img.cms cms.crl rootfs_iBMC.tar.gz
-rw-r–r-- 1 root root 2097152 Jul 2 07:39 Hi1711_boot_4096.bin
-rw-r–r-- 1 root root 1048576 Jul 2 07:39 Hi1711_boot_pmode.bin
-rwxr-xr-x 1 root root 812 Jul 2 07:39 cms.crl
-rwxr-xr-x 1 root root 164 Jul 2 07:39 hpm_sub_header
-rwxr-xr-x 1 root root 512 Jul 2 07:39 hpm_top_header
-rwxr-xr-x 1 root root 1505 Jul 2 07:39 rootca.der
-rw-r–r-- 1 root root 4872 Jul 2 07:39 rootfs_iBMC.img.cms
-rw-r–r-- 1 root root 65556028 Jul 2 07:39 rootfs_iBMC.tar.gz
[2025-07-02 07:39:18,749 INFO] 执行命令: cat hpm_top_header Hi1711_boot_4096.bin Hi1711_boot_pmode.bin hpm_sub_header rootca.der rootfs_iBMC.img.cms cms.crl rootfs_iBMC.tar.gz
[2025-07-02 07:39:18,749 INFO] >> cat hpm_top_header Hi1711_boot_4096.bin Hi1711_boot_pmode.bin hpm_sub_header rootca.der rootfs_iBMC.img.cms cms.crl rootfs_iBMC.tar.gz
[2025-07-02 07:39:18,938 INFO] 目录 /home/workspace/manifest/temp/build_openUBMC_debug_dev/output 包含文件:
[‘rootfs_iBMC.tar.gz’, ‘rootfs_openUBMC.filelist.cms’, ‘cms.crl’, ‘rootfs_openUBMC.filelist’, ‘rootca.der’, ‘rootfs_iBMC.img’, ‘openUBMC_gpp.bin’, ‘rootfs_openUBMC.hpm’, ‘rootfs_iBMC.img.cms’, ‘rootfs_openUBMC.hpm.signed’]
[2025-07-02 07:39:18,942 INFO] 切换工作目录到: /home/workspace/manifest/temp/build_openUBMC_debug_dev/hpm_build_dir
[2025-07-02 07:39:18,943 INFO] 构建 openUBMC hpm 包…
[2025-07-02 07:39:18,943 INFO] >> ls -al /home/workspace/manifest/temp/build_openUBMC_debug_dev/output/openUBMC_gpp.bin
[2025-07-02 07:39:18,945 INFO] >> ./packethpm_ext4.sh /home/workspace/manifest/temp/build_openUBMC_debug_dev/output/openUBMC_gpp.bin hpm_ipmc_ext4.config
[2025-07-02 07:39:19,160 INFO] >> mv ipmc-crypt-image.hpm /home/workspace/manifest/temp/build_openUBMC_debug_dev/output/rootfs_openUBMC.hpm -f
[2025-07-02 07:39:19,225 INFO] hpm 构建成功 !!

综上,如果使用闭源组件的 bmcgo 工具链,是无法直接提取 CA 证书,也无法查看 CA 有效期的;而 bingo 工具链则可以实现这一功能。
另外,后续版本理论上会加入加密处理,届时即使用 binwalk 也无法再提取相关证书。
以上仅是我通过对比分析得出的结论,可能存在偏差。

1 个赞
  1. hpm包的头部不包含 ca证书信息。

hpm包的头部结构参考:

  1. arch的说法是正确的。

@ChenMinjun 答复是否解决了你的疑问。