0

我在 mac osx 中开发了一个应用程序。该应用程序在本地正常运行。

现在我正在尝试与其他同行在内部分发该应用程序。(无需通过应用商店)

我创建了一个自签名证书。我安装了证书并将其添加到受信任的(它是一个 ROOT 证书)然后我用我的自签名证书签署了应用程序。

一切都很好。该应用程序在签名后仍然在本地正常运行(我验证它确实已签名)

我的下一步是将签名的应用程序上传到 s3。下载应用程序后。操作系统安全设置阻止了下载的应用程序的启动 - (身份不明的开发人员) - 这是安装了证书的同一台机器..

所以我不确定为什么我仍然收到身份不明的开发人员错误?我的假设是如果我的证书存在(并且受信任)在目标机器中 - 操作系统应该允许应用程序通过。这个假设是不正确的吗?如果是这样,self 符号会添加什么值(我猜什么都没有)。如果不是真的,我可能有错误的证书?

4

1 回答 1

1

您在下载 .app 后收到错误消息,因为您用来下载它的任何内容(您的网络浏览器?)都设置了隔离属性,这会强制 Gatekeeper 启动。您可以在此处阅读更多信息。

Gatekeeper 正在寻找由 Apple 颁发的“开发者”证书(并具有 Apple Root CA 作为其根证书)。这不仅仅是检查根 CA 是否受信任。

例如codesign -dvvvv /Applications/Google\ Chrome.app/

授权=开发者 ID 应用程序:Google, Inc. (EQHXZ8M8AV) 授权=开发者 ID 证书颁发机构授权=Apple 根 CA

您的自签名证书不是 Apple 颁发的开发者证书,因此 Gatekeeper 不会识别它。

于 2019-03-20T22:30:51.960 回答