bmcgo 升级签名校验与预期不一致——请协助确认归属层级,并指引代码位置与调试方法

我在 manifest.yml 同级目录下放置了 rootfs/opt/bmc/trust/partner/rootca.der,打包生成过渡固件并成功升级。
之后再使用新的签名包进行升级时,升级失败,日志如下所示:


使用 hpm_verify 对升级包进行本地校验时能够正常通过,但在实际 BMC 升级过程中仍然失败。日志如下:

2025-08-21 10:22:02.901128 firmware_mgmt NOTICE: validate_sign.lua(153): the custom ca certificate is exist, load custom certificate
2025-08-21 10:22:02.911830 firmware_mgmt WARNING: init.lua(97): nil:294 > validate_sign.lua:-1 > validate_sign.lua:172: An error occurred during the firmware upgrade process. Details: verify signature error, code 88200004
2025-08-21 10:22:02.912201 firmware_mgmt ERROR: validate_sign.lua(296): FirmwareUpgradeError: An error occurred during the firmware upgrade process. Details: verify signature error, code 88200004

现象总结:

  • 构建时候hpm_verify 工具本地校验通过,说明签名结构在工具规则下是正确的。
  • 实际 BMC 升级时失败,表明 BMC 内部的升级签名校验逻辑与 hpm_verify 并不完全一致
  • 升级过程中,BMC 会加载自定义 CA,对 HPM 包中的签名块执行 校验,并且可能对证书结构有额外要求。

疑问:
由于我使用的是 非 OpenSSL 搭建的证书服务生成的根证书,可能在证书结构或扩展属性上和 OpenSSL 生成的证书存在差异。
想确认下:

  1. 校验失败是否可能与 RootCA 的结构不匹配有关?