问题标签 [osx-gatekeeper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
15393 浏览

code-signing - 非 Apple 颁发的代码签名证书:它可以与 Mac OS 10.8 Gatekeeper 一起使用吗?

我们公司为 Mac OS X 和 Windows 开发了我们的应用程序。我们从非 Apple 机构购买了现有的代码签名证书,用于识别我们的 Windows 安装程序。我们通过我们自己的公司网站分发我们的 DMG 和 MSI。

Mountain Lion 的新 Gatekeeper 功能的代码签名指南似乎暗示非 Apple 颁发的标准证书可以工作,尽管在这种情况下我可能会误解“第三方”的含义:

注意: Apple 使用代码签名证书的行业标准形式和格式。因此,如果您的公司已经拥有用于在其他系统上签署代码的第三方签名身份,则可以将其与 OS X codesign 命令一起使用...

是否可以使用此非 Apple 证书,如果可以,如何使用命令行“codesign”命令将其合并?

0 投票
2 回答
2690 浏览

java - 如何使用 Apple Developer ID 签署 Java 小程序

我有使用 thwate 证书签名的 java 小程序,需要使用 Apple Developer ID 对其进行签名。

众所周知,Mac OS X 10.8 要求 Java 应用程序使用 Apple Developer ID 进行签名。它会导致运行 Java 小程序时出现一些问题,Gatekeeper 说“无法验证数字签名”。OS X 10.8 Gatekeeper and Java applet和Sign java applet存在相同的问题,以便它可以在 OS X 10.8 Mountain Lion 和 Windows 上运行

我还在 Oracle 的 Mac 常见问题解答中找到了这一点:http: //docs.oracle.com/javase/7/docs/technotes/guides/jweb/mac-faq.html#gatekeeper

因此,我请求并将 Apple Developer ID 证书下载到我的 Mac 上,但我找不到任何如何使用 Apple Developer ID 签署 Java 小程序的地方。

我尝试了以下方法:

  1. 使用协同设计工具在 Mac 上对小程序进行签名。

    但是这个命令实际上并没有修改 jar 文件(没有更改日期、文件大小或二进制内容)。

  2. 将 Apple 证书导出到 p12 并使用jarsigner。我将Apple Root CAApple Timestamp Certification AuthorityDeveloper ID Application: MyCompany导出到 p12 并以通用方式签署我的 jar。

  3. 将我的 thawte 证书导入 Mac Keychain Access 并将 Apple 和 thawte 证书导出到 p12。

这三种方式都没有给我任何东西。当我用小程序打开一个页面时,Gatekeeper 仍然说无法验证。

任何人都可以向我提供有关如何签署我的小程序的分步说明吗?

0 投票
1 回答
1198 浏览

code-signing - 您可以在 Xcode 之外对 Mac OS X 应用程序进行代码设计并让 Gatekeeper 接受吗?

我有一个在 Xcode 之外构建的应用程序(实际上是安装程序),我使用该codesign实用程序对其进行了代码签名,但是当我在下载签名的应用程序后尝试安装它时,Gatekeeper 抱怨它来自身份不明的开发人员。我曾尝试使用“3rd Party Mac Developer:...”身份,以及我自己的“Mac Developer:...”身份;两种情况下的结果相同。 codesign(据我所知)说一切都很好,所以我想我要么使用了错误的身份(在这种情况下,我的问题是我应该使用/制作来代替)或者签名很好,但是需要使用我的开发人员帐户完成一些事情(在这种情况下,我的问题是可能是什么)。

0 投票
1 回答
1685 浏览

macos - 如何使用 Mac 开发人员 ID 签署 Qt 应用程序?

我有我的第一个跨平台应用程序准备发布,使用 Qt 4.7.4 开发,使用 Qt Creator(不是 Xcode)。我以为我已经准备好了一切:我有一个可以运行macdeployqt并生成 .dmg 的脚本,效果很好。我不打算将此应用程序放在 Mac App Store 中。用户只需从我们的网站下载 .dmg。

但是,在 Mac OS X 10.8 Mountain Lion 上,如果我没有与我的应用关联的开发者 ID,Gatekeeper 的默认设置会给我的用户造成混淆。

我用谷歌搜索了很多,对我需要做什么感到很困惑。我以前从未对代码签名做过任何事情,而且很少使用 Mac 的钥匙串。获取已完成的 Qt 应用程序并使其与开发人员 ID 相关联的步骤是什么,因此 Gatekeeper 在其默认设置下会对我的 dmg 感到满意而不会使我的用户感到困惑?

0 投票
3 回答
3854 浏览

code-signing - 使用 Apple 证书对 Windows 程序进行代码签名?

我正在尝试最小化为 Mac OS X 和 Windows 开发程序所需的代码签名证书的成本。据我所知,我不能使用 3rd 方证书来签署我的 OS X 程序并让它通过GateKeeper ,如此所示。

我可以换一种方式使用 Apple Developer 证书来签署我的程序的 Windows 版本吗?

还相关: 非 Apple 颁发的代码签名证书:它可以与 Mac OS 10.8 Gatekeeper 一起使用吗?

0 投票
0 回答
73 浏览

osx-gatekeeper - 我需要取消对 OSX Gatekeeper 的覆盖以进行测试

在 osx montain lion 中,我需要测试来自未经授权的开发人员的下载。我可以使用“控制点击”方法告诉网守打开文件,但问题是一旦我这样做,网守就会记住,所以我再也看不到打开文件的对话框了。有什么方法可以让我回到原来的未批准状态?

0 投票
1 回答
244 浏览

macos - 如何使用 Gatekeeper ID 签署仪表板小部件(Dashcode)

有谁知道如何签署由 Dashcode 制作的带有 Gatekeeper ID 的仪表板小部件(OS-X Mountain Lion)?所有教程都只涉及 XCode-Apps 或包安装程序。仪表板小部件是否像安装程序一样处理?

0 投票
2 回答
946 浏览

macos - 开发者 ID 确保 Gatekeeper 接受?

苹果目前的政策是什么?谈到 Gatekeeper,他们从未提及获得开发者 ID 可以保证您的应用程序将被允许在默认的Mac App Store 和已识别的开发者选项中运行。他们从不说每个有效签名的应用程序都会被自动接受。

我无法在 App Store 中分发我的应用程序,因为它违反了它的准则。但它很好用,不包含恶意软件、广告等。

0 投票
1 回答
100 浏览

macos - GateKeeper 警报在少数系统上显示

我有一个使用 xcode 构建并使用“IceBerg”包制造商打包的应用程序。制作包后,我使用codesign命令对应用程序进行代码签名。所以我不会收到“未识别的开发人员”消息。

最近,我们的一位客户抱怨即使将 Gatekeeper 选项设置为“映射 App Store 和已识别的开发者”,也会收到“未识别的开发者”消息。它仅在此客户端系统中发生。

可能是什么原因?你有什么建议吗?

0 投票
1 回答
347 浏览

applescript - appA 是否需要授权才能执行启动 appB 的 AppleScript?

我们有两个签名的 Mac OS X 应用程序(我们开发的——非“应用商店”应用程序)。appA 运行一个 Applescript(来自一个 .scpt 文件),它向 appB 发送一条消息以启动和搜索一些文本。

这在 OS X 10.6 上完美运行。

在 OS X 10.7 和 10.8 上,我得到了不同的行为:当 appA 运行 Applescript 时,appB 不会启动。但是,如果 appB 已在运行,则 appB 会收到 appA 的消息,并处理请求的搜索。

这似乎是一个沙盒问题:当我们向终端发出此命令时:

…然后重新启动,Applescript 在 10.8 上启动 appB 也没有问题。在 10.7 上,appB 仍不会启动。

我们是否需要临时授权才能执行 AppleScript 脚本(或发送 AppleEvents)到我们的其他应用程序?这两个应用程序都是使用 codesign 手动签名的。这些权利是否从开发者关系中获得并通过协同设计应用?

appA 获取 AppleScript 并通过以下函数执行它:

正在执行的 AppleScript 是: