Cod*_*ddy 6 macos codesign osx-elcapitan
使用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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
但是shell脚本版本无法在10.10和10.9上验证:
codesign -vv shell-script/HelloWorld.app
shell-script/HelloWorld.app: invalid signature (code or signature have been modified)
Run Code Online (Sandbox Code Playgroud)
我可以访问另一台10.11机器,当它签署.app时会出现同样的问题.我可以访问10.9机器,但也无法验证.
为shell脚本.app生成的_CodeSignature目录有所不同.
以下是10.10上签名的方式:
CodeDirectory
CodeRequirements
CodeResources
CodeSignature
Run Code Online (Sandbox Code Playgroud)
但是当我们在10.11上签名时,我们会收到一些额外的文
CodeDirectory
CodeRequirements
CodeRequirements-1
CodeResources
CodeSignature
CodeTopDirectory
Run Code Online (Sandbox Code Playgroud)
是不是有一个神奇的选择我缺少代码签名以允许这个工作?还是有错误?
我现在也收到了苹果公司的回复,不过与格雷厄姆的回复号码不同:
Engineering has determined that your bug report is a duplicate of another issue and will be closed.
Duplicate of 25457707 (Open)
Run Code Online (Sandbox Code Playgroud)
如果/当我听到更多信息时,将发布更新。没有提供有关修复的更多详细信息,或者即使它会被修复。
更新:此问题现已在 10.11.5 中修复 - 我没有收到 Apple 的任何指示,但现在可以在升级后使用。
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |