黄家琛 2023-07-19 22:41 采纳率: 50%
浏览 108
已结题

mac签名失败main executable failed strict validation

如题,对于electron开发的程序进行打包,在打包完成后通过electron-notarize进行签名,一开始签名是可以的,但如果替换了打包结果中的某个exe产物后,就会提示所替换产物处main executable failed strict validation的错误,导致签名无法完成。
看了网上资料所是重复签名所导致,但是所替换的exe文件是我刚编译生成的,并未经过签名,看了一天了,求解答,重酬!

  • 写回答

8条回答 默认 最新

  • 三️悠亚。 2023-07-24 13:42
    关注

    这个错误通常是因为签名验证机制检测到您替换了应用包中的某个重要组件,可能导致应用的完整性受到破坏。macOS 的签名和验证过程非常严格,以确保应用的安全性。

    解决此问题的方法是,在替换任何执行文件之前,确保您遵循以下步骤:

    在应用打包完成后,备份整个应用包(包括所有执行文件)作为参考。

    如果您需要替换某个执行文件,请确保新的执行文件与原始文件具有相同的名称、位置和权限。

    使用 electron-notarize 工具进行重新签名。确保您的签名证书有效,并且将其正确配置到签名流程中。

    确保所有的依赖项和插件也符合签名要求,并来自可信任的源。

    如果您尝试了以上步骤仍然遇到问题,可以尝试以下措施:

    检查发布的版本是否包含所有必要的执行文件和依赖项。

    尝试将整个应用包直接重新打包并进行签名,而不是替换单个执行文件。

    如果可能,尝试与 Electron 开发者社区或相关技术支持寻求更详细的帮助和指导。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 8月1日
  • 已采纳回答 7月24日
  • 创建了问题 7月19日