gpt4 book ai didi

macos - 在 OS X 10.11 中,shell 脚本包装应用程序的签名是否已损坏?

转载 作者:行者123 更新时间:2023-12-04 15:55:04 25 4
gpt4 key购买 nike

使用 OS X 10.11 对包装 shell 脚本的 .app 进行签名无法在 10.10 或更低版本上进行验证。我可以在 10.10 和 10.9 上签名,并在 10.9、10.10 和 10.11 上进行验证。

我在 github 上放了两个示例应用程序和一个脚本来展示这一点。这两个 HelloWorld.app 仅在 Contents/MacOS/HelloWorld 中的二进制文件中有所不同。一个是shell脚本,另一个是编译的objective-c。

签名在 10.11 上对两个版本都有效并验证:

shell 脚本版本:

codesign -s "${signing_identity}" -v shell-script/HelloWorld.app
signed bundle with generic [liamsharp.helloworld]

codesign -vv shell-script/HelloWorld.app
shell-script/HelloWorld.app: valid on disk
shell-script/HelloWorld.app: satisfies its Designated Requirement

Objective-C 版本:
codesign -s "${signing_identity}" -v objective-c/HelloWorld.app
signed bundle with Mach-O thin (x86_64) [liamsharp.helloworld]

codesign -vv objective-c/HelloWorld.app
objective-c/HelloWorld.app: valid on disk
objective-c/HelloWorld.app: satisfies its Designated Requirement

但是shell脚本版本在10.10和10.9上验证失败:
codesign -vv shell-script/HelloWorld.app
shell-script/HelloWorld.app: invalid signature (code or signature have been modified)

我可以访问另一台 10.11 机器,并且在签署 .app 时出现同样的问题。我可以访问 10.9 机器,但也无法验证。

为 shell 脚本 .app 生成的 _CodeSignature 目录有所不同。

这是在 10.10 上签名时的情况:
CodeDirectory
CodeRequirements
CodeResources
CodeSignature

但是在 10.11 上签名时,我们会得到一些额外的文件:
CodeDirectory
CodeRequirements
CodeRequirements-1
CodeResources
CodeSignature
CodeTopDirectory

我在协同设计中缺少一个神奇的选项来允许它工作吗?还是有bug?

最佳答案

我现在也收到了 Apple 的回复,但与 Graham 的回复数字不同:

Engineering has determined that your bug report is a duplicate of another issue and will be closed.

Duplicate of 25457707 (Open)

如果/当我听到更多信息时会发布更新。没有提供有关 eta 修复的更多详细信息,或者即使它将被修复。

更新:现在已在 10.11.5 中修复 - 我没有来自 Apple 的任何指示,但现在可以在升级后工作。

关于macos - 在 OS X 10.11 中,shell 脚本包装应用程序的签名是否已损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com