问题标签 [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 投票
1 回答
78 浏览

asp.net - 为 Gatekeeper 自定义下载

我有一个需要为每个用户自定义下载的 Mac 应用程序。我已经完成了为 Gatekeeper 签署应用程序的所有工作,并且一切都在构建中得到验证。但是,当应用程序从添加了自定义文件的网站下载时,Gatekeeper 不再进行验证。

有没有办法在不为每次下载重新签名应用程序的情况下制作自定义文件?我只需要更新.plist应用程序包中的文件。该网站是用 ASP.Net 编写的,因此在服务器上签名可能无法正常工作。

0 投票
1 回答
2863 浏览

java - 用于 OS X Gatekeeper 的代码签名 Java 应用程序

我正在尝试将 Java 应用程序分发给 OS X 用户。我没有使用 Mac 商店 - 它是通过我自己的网站分发的。无论我尝试什么,OS X 的 Gatekeeper 都会拒绝该应用程序。

这是我的方法:

(1) 像往常一样构建app,得到一个JAR文件

(2)appbundler按照此处所述使用:https ://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html 。这会在我的 JAR 周围创建一个运行良好的 .app,并在MyApp.app/Contents/PlugIns目录中包含 JVM。

(3) 使用我的开发者证书签署应用程序:

codesign -s 'Developer ID Application: MyCompany Ltd' --deep MyApp.app

...过程成功完成

(4) 验证 .app 将遵守 Gatekeeper 的铁腕法律:

spctl --assess --verbose=4 --type execute MyApp.app

...我得到的结果是:

对我来说似乎不是很冗长!我可能做错了什么?或者我怎样才能获得更多信息?

SO/Google 围绕“密封资源...”进行搜索是指签名框架(我没有)或建议使用该--force选项签名(我尝试过但不起作用)。

0 投票
1 回答
64 浏览

macos - 当从已签名的应用程序启动外部未签名的应用程序时,Gatekeeper 会启动吗?

我正在开发一个将启动其他应用程序的应用程序(system("javaws ...)具体而言)。

我的问题是,如果我使用 Apple Identified Developer 密钥签署我的应用程序,如果我的应用程序启动其他未签名的应用程序,Gatekeeper 会启动并显示弹出窗口/警告吗?

(我会自己尝试一下,但我还没有 Identified Developer 密钥,我想在申请之前先在这里问一下。)

这是我发现的唯一相关问题:How to sign (dynamic) JNLP files for OSX and Gatekeeper

0 投票
1 回答
3727 浏览

macos - 检查签名工具失败并显示消息:资源信封已过时(自定义省略规则)

尝试使用检查签名工具检查网守一致性,如此处所述运行以下命令:

并得到以下输出:

有人可以帮助我理解上述输出的含义吗?

0 投票
1 回答
1926 浏览

macos - 如何将 productsign 与包含较小签名 pkg 文件的 mpkg 一起使用?

我有一个父安装程序包,比如说,Parent.unsigned.mpkg我想用 OS X 签名productsign

该文件Parent.unsigned.mpkg包含名为A.pkg,B.pkg和的子包C.pkg,它们依次安装 Clang 编译的命令行二进制文件和bash包装脚本:

我注册了一个 Mac 开发者帐户,该帐户设置(在其他证书中)带有 ID 的开发者 ID 安装程序证书ABCD1234(此 ID 实际上与我的 Apple ID 不同且特定于我的 Apple ID。)我使用该security工具获取此 ID 值:

我使用此 ID 值对这些子包中的每一个进行签名,这似乎毫无意外地进行:

然后,我将这些签名的子包移回其原始文件名:

当我尝试productsign使用父包时,我收到以下警告消息:

当我尝试验证安装程序是否已签名时,我收到一条拒绝消息:

我正在使用此处此处列出的 Apple 说明。

未签名的安装程序可以正常工作,但它需要绕过 OS X Gatekeeper。因此安装程序包和内容似乎是正确的(或至少可以正常工作)。

我缺少哪些步骤或程序来生成与 OS X Gatekeeper 一起使用的数字签名安装程序?

0 投票
1 回答
303 浏览

xcode - mac osx 网守允许安装未签名的软件包

我已经使用 pkgbuild 和 productbuild 创建了一些包(没有签名)。第一次安装mac网守阻止它安装

我当时的 Gatekeeper 设置是 - 允许从以下位置下载应用程序:Mac App Store 和 Identified developers

为了测试,我将设置更改为 - 允许从以下位置下载应用程序:任何地方

然后允许安装没有任何问题,但是之后将网守更改为以前的设置是没有用的,它仍然允许安装旧包。为什么会发生这种情况,我应该如何防止这种情况发生?

0 投票
0 回答
408 浏览

java - Java: Mac App Not Signed With Apple Submission Certificate

I am trying to upload my java app to the Mac App Store. I have been following the instructions here: Code sign Java app for OS X Gatekeeper. Naturally since I want it on the Mac App store I am signing it with my "3rd Party Mac Developer Application: Certificate." The most recent time I tried to submit it, Apple says that the app is not signed with an Apple Submission Certificate. When I run: 'codesign --verify -vvvv myapp.app' I get this:

--prepared:PathToMyApp/myapp.app/Contents/PlugIns/jdk1.8.0_31.jdk --validated:PathToMyApp/myapp.app/Contents/PlugIns/jdk1.8.0_31.jdk

myapp.app: valid on disk

myapp.app: satisfies its Designated Requirement

When I run: 'spctl -vvvv --assess --type execute myapp.app' I get:

myapp.app: rejected

origin=3rd Party Mac Developer Application: me (XXXXXXXXXX)

When I run: 'codesign -dvvv myapp.app' I get:

Executable=PathToMyApp/myapp.app/Contents/MacOS/myapp

Identifier=myapp

Format=bundle with Mach-O thin (x86_64)

CodeDirectory v=20200 size=270 flags=0x0(none) hashes=5+5 location=embedded

Hash type=sha1 size=20 CDHash=2b8e4d61e30c01e5d6ac3f4a3381be2df2efa6b8

Signature size=4347

Authority=3rd Party Mac Developer Application: me (XXXXXXXXXX)

Authority=Apple Worldwide Developer Relations Certification Authority

Authority=Apple Root CA

Signed Time=Mar 3, 2015, 1:57:39 PM

Info.plist entries=22

TeamIdentifier=XXXXXXXXXX

Sealed Resources version=2 rules=12 files=7

Internal requirements count=1 size=36

Likewise when I run Apple's check signature program, I get:

test-requirement: code failed to satisfy specified code requirement(s)

myapp.app: The target is not signed with Developer ID or by the Mac App Store. NO

I know that Apple also checks with:

codesign --verify -vvvv -R='anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and (certificate leaf[field.1.2.840.113635.100.6.1.2] exists or certificate leaf[field.1.2.840.113635.100.6.1.4] exists)' myapp.app

I get:

--prepared:PathToMyApp/myapp.app/Contents/PlugIns/jdk1.8.0_31.jdk --validated:PathToMyApp/myapp.app/Contents/PlugIns/jdk1.8.0_31.jdk

myapp.app: valid on disk

myapp.app: satisfies its Designated Requirement

test-requirement: code failed to satisfy specified code requirement(s)

If I sign everything with the 'Developer ID Application:' certificate then Application Loader says that it must be signed with the '3rd Party Mac Developer' certificate and that it isn't signed with a v1 signature. I've been working on this for close to a week with no success.

What am I doing wrong?

-Also if it helps I am bundling the app with Netbeans' built in native packager on Yosemite 10.10.2. I've tried Appbundler, and a few others and haven't gotten much success either.

0 投票
1 回答
641 浏览

ios - Is my kernel extension correctly signed for Yosemite?

I am trying to sign a kernel extension file "abc.kext". I have a kext enabled certificate and tried to sign my "abc.kext" using:

To verify that the signing is successful I run:

and the output is:

Also run:

and the output is:

If I run:

output is:

Can somebody help me to find what I am doing wrong?

0 投票
1 回答
224 浏览

macos - 我是否需要 Apple 开发者帐户才能避免 Gatekeeper 警告?

我是否需要 99 美元的 Apple 开发者帐户才能让我的应用程序避免“ [此应用程序] 无法打开,因为它来自身份不明的开发者”警告,还是我可以使用免费的开发者帐户来避免该警告?我知道我的客户可以通过更改他们的 Gatekeeper 设置来避免该警告,但我在问我如何才能做到这一点,这样我的应用程序就不会要求我的客户这样做。

我是否需要一个 99 美元的 Apple 开发者帐户才能避免“ [此应用程序] 是从 Internet 下载的应用程序。您确定要打开它吗? ”警告?开发者帐户甚至会帮助我避免该警告,还是非 App Store 应用程序始终存在该警告?

我知道我需要 99 美元的帐户才能将应用程序提交到 Mac App Store,但我不确定我是否想朝那个方向发展。

0 投票
1 回答
482 浏览

macos - 已签名的 abc.pkg 通过 spctl 控制,但未通过检查签名控制。检查签名工具失败的后果?

我们创建了一个包含两个不同包的 abc.pkg 安装程序;一个 def.mpkg(捆绑样式)和一个 ghi.pkg(平面包)。安装程序支持操作系统版本 10.5 及更高版本。我们已经对 abc.pkg 安装程序进行了数字签名,并根据Apple 的文档模拟了 Gatekeeper 的行为。

签名的 abc.pkg 通过 spctl 控制:

返回:

根据前面提到的文档,这意味着 Gatekeeper 将接受我们包的签名,但无法通过检查签名控制:

返回:

这意味着签名不符合 Gatekeeper 要求。

我们已经在 Mac OS X 10.6 和 Mac OS X 10.10 上测试了 abc.pkg 安装程序,两次都安装成功。

究竟是什么意思 abc.pkg 不符合 Gatekeeper 的要求,以及检查签名工具失败的后果是什么?

我们不应该看到苹果的警告:

“abc.pkg”来自一个身份不明的开发者。您确定要打开它吗?