在阅读本文之前请注意:"告诉他们转到System preferences > Security & privacy
和allow 3rd party applications to run
。这个问题不是一个可以接受的解决办法。
我创建了.app
已使用有效的Mac开发人员证书签名。然而从互联网上下载它&运行仍然会抛出安全提示:
应用程序无法打开,因为它来自身份不明的开发人员
这是codesign -vvv
的<{1}}终端转储:
.app
我不明白为什么这不通过Gatekeeper?有什么遗失的吗? Apple是否需要进一步付款/贿赂?
@TheDarkKnight建议我使用不正确的证书对Executable=/Users/me/Desktop/ADRA.app/Contents/MacOS/ADRA
Identifier=unity.Company.ADRA NSW 2016
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178145 flags=0x0(none) hashes=5561+3 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=79ecf88721d6387749c1f6b10355c3683ef20eb2
CandidateCDHash sha256=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Hash choices=sha1,sha256
CDHash=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Signature size=4739
Authority=3rd Party Mac Developer Application: Company Pty Ltd (NH73TNDB28)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=20 Apr 2017, 2:46:12 PM
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=224
进行签名。看起来他们是正确的,所以我去创建一个新的.app
,但显然是因为我不是一个代理人&#39;在群组帐户中,所以我现在必须等到“代理人”#39;为我创造一个 - 似乎倒退,没有别的办法等待代理商&#39;为我做这个?
(在Xcode中)如果&#34;开发者ID&#34;单选按钮显示为灰色,您可能有一个组帐户。 这些类型的帐户只允许&#34;代理&#34;创建开发者ID的角色。如果您遇到困难,请联系创建您的Apple开发者帐户组的人员。
https://developer.mozilla.org/en-US/docs/Mozilla/Signing_Mozilla_apps_for_Mac_OS_X
所以我今天终于获得了我的新证书,重新签名Developer ID Application certificate
,从服务器上运行并且仍然是错误消息。权威似乎现在是正确的:
.app
我只签署了Executable=/Users/me/Downloads/ADRA.app/Contents/MacOS/ADRA
Identifier=com.company.adra
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178133 flags=0x0(none) hashes=5561+3 location=embedded
Library validation warning=OS X SDK version before 10.9 does not support Library Validation
OSPlatform=36
OSSDKVersion=657408
OSVersionMin=656896
Hash type=sha256 size=32
CandidateCDHash sha1=90d2a54162d6d018bf4f7602d7707c8e8e522fc6
CandidateCDHash sha256=dadfe5203d1367ea776f9501025dbd4ce751ee30
Hash choices=sha1,sha256
Page size=4096
CDHash=dadfe5203d1367ea776f9501025dbd4ce751ee30
Signature size=8930
Authority=Developer ID Application: Company Pty Ltd (NH73TNDB28)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=10 May 2017, 3:36:51 pm
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=184
我还需要做些什么来使这项工作成功吗?是否有一段时间我必须等待它才会起作用?
答案 0 :(得分:2)
Apple为不同目的提供不同的证书。
如果您查看从App Store下载的应用程序的签名,您将看到它们通常包含公用名称Apple Mac OS Application Signing
,因为Apple重新签署了他们通过商店分发的应用程序
对于通过备用流分发的第三方开发者,其应用程序证书通常具有以:"Developer ID Application..."
开头的公用名。
请注意,其他第三方证书可用,例如用于签署安装程序包的安装程序证书,其公用名称以"Developer ID Installer..."
开头。
能够使用证书签署产品的特权必须受到限制并严格控制。
如果您的证书副本被泄露,它可以用于恶意目的,例如恶意软件的分发,如KeRanger, which infected the Transmission BitTorrent application的情况。
如果您怀疑自己拥有泄露的证书,则需要撤销该证书,该证书可以从Apple Developer帐户启动。
因此,Apple限制为代理商创建证书,因为只有一个人在Apple开发者帐户中注册,并且是法律上同意对其负责的人。