use*_*908 3 macos code-signing-certificate
我正在为 OSX 签署 install4j 安装程序,但是 OSX 拒绝了它。系统日志只报告被拒绝,spctl只报告被拒绝,不做任何解释。我如何确定它被拒绝的原因?
我想您是在谈论Gatekeeper不允许您的应用在下载后运行?Gatekeeper 的规则不是基于拒绝应用程序的规则列表,而是基于接受应用程序的可能规则列表,以及您的应用程序是否与任何规则或这些规则不匹配。这使得很难记录例如为什么您的应用程序被拒绝的原因超出“它与任何允许规则都不匹配”。现在,如果您知道希望对其应用哪个“允许”规则,您可以尝试基于该规则对其进行调试,但 Gatekeeper 本身并不知道这一点,因此没有太大帮助。
我假设您希望根据“已识别的开发人员”规则允许您的应用程序?如果是这样,有几个测试来寻找明显的问题:首先,运行codesign -vv --deep-verify /path/to/yourapp.app,并确保它打印“在磁盘上有效”和“满足其指定的要求”(并且不给出任何错误)——如果没有,应用程序的签名或内容有问题。
其次,运行codesign -dvv /path/to/yourapp.app,并确保它列出的数据包括:
Authority=Developer ID Application: [Your name/company here]
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Sealed Resources version=2 rules=[something] files=[something]
Run Code Online (Sandbox Code Playgroud)
如果授权列表与此不同,则您使用了错误的证书对其进行签名。如果 Sealed Resources 版本为 1 或未列出,则您使用旧版本的 OS X 对其进行签名,最近的版本将拒绝签名格式。
| 归档时间: |
|
| 查看次数: |
5262 次 |
| 最近记录: |