问题描述
validate_sign.lua(375): string.format error: bad argument #2 to ‘?’ (number expected, got nil)
有人遇到过么,我推断和签名有关,但是我本地切基线后的manifest和430基线的签名相关配置是一样的,不懂这个报错是什么意思
validate_sign.lua(375): string.format error: bad argument #2 to ‘?’ (number expected, got nil)
有人遇到过么,我推断和签名有关,但是我本地切基线后的manifest和430基线的签名相关配置是一样的,不懂这个报错是什么意思
答案内容由AI生成,仅供参考:
根据您提供的上下文信息,目前资料中没有直接解释 validate_sign.lua(375) 这一行报错 string.format error: bad argument #2 to '?' (number expected, got nil) 的具体含义。不过,上下文中有多处与固件签名验证失败相关的记录,可能对您排查问题有参考价值。
validate_sign.lua 是签名校验脚本
在升级日志中可以看到该脚本参与签名验证流程,例如:
validate_sign.lua(261): get platform is communityvalidate_sign.lua(217): config cms sign enable:truevalidate_sign.lua(138): the custom ca certificate is exist, load custom certificatevalidate_sign.lua(159): verify signature successfully这说明该脚本在执行平台识别、读取签名配置、加载证书、验证签名等步骤。
manifest.yml 签名配置缺失会导致签名任务失败
上下文提到多个签名相关配置键缺失,例如:
base/signature/signserverbase/signature/sign_kobase/signature/hpm_digestbase/signature/certificates这些键缺失时,构建任务 work.task_hpm_envir_prepare 会报错,使签名进程失败。您提到“本地切基线后的 manifest 和 430 基线的签名相关配置是一样的”,但如果当前基线所需的配置键在您本地 manifest 中确实缺失,仍可能触发签名相关错误。
社区整包签名配置的注意事项
上下文明确指出:
community_sign_webvnc_1711 配置整包,只能使用 community_unsign_webvnc_1711,否则会导致后续验签无法通过、升级失败。community_sign_webvnc_1711,使用这种包升级后会打开升级验签功能;本地出包需要改为 community_unsign_webvnc_1711。已知问题:需要更新 manifest 和 bingo
上下文提到一个已知问题:“拉最新的 manifest 库编译出版本之后,升级 bmc 包之后再次升级 bmc 包就出错”,解决办法是更新最新的 manifest 以及最新的 bingo。如果您的基线切换后没有同步更新 manifest 和 bingo,可能会遇到社区签名验证失败。
历史版本签名算法兼容性问题
上下文提到 V2 老版本的签名只支持 PKCS,不支持 PSS,导致无法直接升级到 V3;需要先升级到中间版本预埋。如果“630基线”涉及类似的签名算法变化,可能也存在兼容性问题。
manifest.yml 中是否存在上文提到的缺失签名配置键(如 base/signature/signserver 等)。community_sign_webvnc_1711 整包,如果是开发者本地出包,建议改为 community_unsign_webvnc_1711。由于上下文没有针对 validate_sign.lua(375) 这一具体错误的详细说明,以上仅是基于已知故障场景的参考。建议您进一步提供完整的 app.log 日志,以便更准确地定位问题。