我在 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 生成的证书存在差异。
想确认下:
- 校验失败是否可能与 RootCA 的结构不匹配有关?
