【问题标题】:notarization rejects my app with: The signature of the binary is invalid公证拒绝我的应用程序:二进制文件的签名无效
【发布时间】:2022-10-20 19:37:06
【问题描述】:

我正在尝试对 macOS 10.15 / XCode 12.4 上的现有应用程序进行代码设计/公证。

这是我的工作流程:

  • 因为我的应用程序是基于 Qt 的,所以我使用这个Recipe OSX Code-Signing Qt 来修复应用程序包;
  • codesign -vvv --force --options runtime --deep --sign "Developer ID Application: ..." --entitlements myApp.entitlements myApp.app签名
  • zip -rqy打包.app
  • xcrun altool --notarize-app ...上传到公证处

这是公证日志:

{
  "logFormatVersion": 1,
  "jobId": "b864c16d-d8dc-464e-aa4f-c2eea5ff6ac4",
  "status": "Invalid",
  "statusSummary": "Archive contains critical validation errors",
  "statusCode": 4000,
  "archiveFilename": "myApp-signed.zip",
  "uploadDate": "2022-07-18T12:25:04Z",
  "sha256": "c324a9ba88dbbaf0e5c325b48c2c22744886d68d450835b0724c7c70258784c2",
  "ticketContents": null,
  "issues": [
    {
      "severity": "error",
      "code": null,
      "path": "myApp-signed.zip/myApp.app/Contents/MacOS/myApp",
      "message": "The signature of the binary is invalid.",
      "docUrl": null,
      "architecture": "x86_64"
    }
  ]
}

但是如果我查看该文件的签名,该文件仍处于上传到公证时的状态:

$ codesign -dvv myApp.app/Contents/MacOS/myApp
Executable=/path/to/myApp.app/Contents/MacOS/myApp
Identifier=com.myapp
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20500 size=1580 flags=0x10000(runtime) hashes=40+5 location=embedded
Signature size=8977
Authority=Developer ID Application: My Name (ID)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=18 Jul 2022 at 15:09:09
Info.plist entries=10
TeamIdentifier=6RVQYWZ74B
Runtime Version=11.1.0
Sealed Resources version=2 rules=13 files=4529
Internal requirements count=1 size=192

(此外,在 codesign/altool 之后应用程序将不再启动,但这是一个不同的问题)

我的应用程序的主要可执行文件有什么问题?

【问题讨论】:

  • 有趣的是,我们不使用该配方,我们的应用程序运行良好。
  • 你能找到解决办法吗?
  • @ChidiWilliams 是的 --deep 效果不佳。捆绑包中的其他二进制文件需要单独签名,但这会破坏签名,并且需要重新签名应用包。
  • 这对我有用,谢谢!

标签: macos qt codesign notarize


【解决方案1】:

可能导致“二进制文件的签名无效”的另一件事:我有一个带有行尾的 Info.plist 文件。当我更改为unix行尾时,公证成功。我花了一段时间才弄清楚出了什么问题......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    相关资源
    最近更新 更多