问题标签 [notarize]

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 回答
766 浏览

cocoa - Apple 公证错误“团队尚未配置公证”

一周前,我们多次使用开发者 ID 证书从 Apple 对我的 Mac 应用程序进行了公证。

现在我们使用 Xcode 10 对具有相同 Developer ID 证书的相同应用程序进行公证。结果是应用程序公证过程失败,原因如下:

我错过了什么?

0 投票
3 回答
6646 浏览

macos - macOS:在脚本中公证?

由于 Xcode 的代码设计和归档非常耗时、无聊且有问题,因此我一直使用命令行工具等通过我自己的脚本对我的 Developer ID 签名的 macOS 应用程序进行代码签名、归档和xcodebuild发布codesign。公证看起来将是一个很大的痛苦。是否可以在我的脚本中添加公证?

0 投票
1 回答
2225 浏览

delphi - 如何查看 Delphi 应用程序的 Apple Notarize 日志

我的 Delphi 10.3.2 应用程序未通过 Apple 的公证。

我已经能够让另一个不同的应用程序成功公证。

如何查看包含公证失败结果的日志文件?

(Xcode 的说明没有帮助,因为 Xcode 似乎认为日志与 Xcode 产品档案相关联,这是一个 Delphi 项目。)

在 PAServer 中打开详细设置会显示使用 altool 请求 --notarization-info 的最后一个命令。这是其类型中唯一的命令。在此命令后不久,来自 Apple 的电子邮件通知我公证失败。

当我的其他项目公证成功时, --notarization-info 命令在PAServer中出现了几十次才成功。

我回去尝试对一直成功的项目进行公证。我收到来自 Apple 的电子邮件,说它已经过公证,但 Delphi(不是 PAServer)显示此错误:

[PAClient 错误] 错误:E5896 2019-07-24 11:16:23.235 altool[2270:146899] *** 错误:Apple 服务操作失败。找不到 RequestUUID。

PAServer 的输出:

从那以后我就猜到了这个问题。显然,未签名的可执行文件位于应用程序包中。在这种情况下,代码签名可能会失败,而 Delphi 忽略了这一点。删除有问题的可执行文件允许对应用程序进行公证。

我仍然无法查看公证过程中的日志。

0 投票
1 回答
603 浏览

macos - 由于“二进制文件使用的 SDK 早于 10.9 SDK”,电子公证失败。

我正在尝试为我的电子应用程序进行公证。由于“二进制文件使用的 SDK 早于 10.9 SDK”,Apple 未能对我的应用程序进行公证。我假设它指的是 MacOS SDK。我在 Electron 文档中找不到关于如何配置构建过程中使用的 MacOS SDK 版本的参考资料。我正在使用 Xcode 10.1、Electron 4.0.0、Electron-builder 20.44.4。我的问题归结为实际控制电子使用的 SDK 版本的原因是什么?是 Xcod、Electron 版本还是我系统中的某些设置?

0 投票
1 回答
504 浏览

macos - MacOS Notarize - Gatekeeper 无法识别经过公证的应用程序

我有一个 MacOS 应用程序,想在 AppStore 之外作为 DMG 文件分发给 beta 用户。

我已经阅读了一些关于如何公证应用程序的文章,并按照步骤成功公证 DMG 文件,没有任何问题。

我的开发机器运行在 MacOS 10.14 上,XCode 版本是 10.1。

但是,当我尝试在另一台运行 MacOS 10.14.5 的测试机器上检查经过公证的 DMG 文件时(通过 AirDrop 发送文件,或从我的网站下载),我仍然看到来自 GateKeeper 的弹出消息“'myApp.dmg ' 无法打开,因为 Apple 无法检查它是否存在恶意软件。” 在那台机器上。

Gatekeeper 似乎无法正常检查经过公证的 DMG 文件。有没有人有同样的问题以及如何解决这个问题?

0 投票
1 回答
160 浏览

xcode - 具有新公证要求的自定义 Apple 包

是否有一种方法可以创建自定义的苹果 .pkg 文件,该文件可以动态生成,与新的签名/公证流程兼容?有推荐的苹果方法吗?

目前,我能够更改 post/preinstall 脚本并在 Linux 上使用 xar 重新打包我的 pkg 文件。

使用新的公证程序,我遇到了几个问题。

  1. 公证一个包裹需要很长时间。

  2. 我无法从 linux 运行公证工具,并且苹果不允许虚拟化 osx 实例。

0 投票
3 回答
3264 浏览

macos - Do I need to notarize both the app and dmg image?

I have an app that is signed, notarized and stapled, then archived into a zip file which is used as the object for my Sparkle updater.

I also distribute it on a DMG image for new users (and is the main download from my website). Can I just put the notarized/stapled app on a DMG, or do I need to go through a separate notarization and staple process for the DMG file?

0 投票
1 回答
649 浏览

xcode - 获取状态时,命令行上的 MacOS 公证返回“不支持的 url”

问题是在上传请求后获取公证状态时

就像这样,我有一个较旧的内核扩展,需要最新的 mac 更新公证它,我正在尝试以自动方式(命令行)完成此操作。

我想做的第一件事是看看我是否可以上传任何东西并恢复任何状态。

因此,在 xcode 中构建了 kext 之后,我使用同上来创建需要发送到苹果的存档:

完成后,我将其上传:

这将返回我需要的请求 ID

所以上述步骤有效,下一步是给我带来问题,获取请求的状态,尝试将特定请求都获取为全部

或者

这两个命令都给了我:

在谷歌上,我没有任何运气找到“不支持的 URL”的任何错误

有人对这个有经验么?

0 投票
2 回答
483 浏览

macos - Mac App store 发布需要公证吗?

上传到Apple App Store之前是否需要公证应用程序?我看到一些文章说非应用商店分发需要公证,而苹果会在批准应用商店版本之前进行公证。任何人都可以确认吗?

我问这个问题的原因是因为我为 Mac App Store 分发之外的应用程序进行了公证,它运行良好。对于 Mac 应用商店构建,我可以上传和分发它,它在 Mac 上运行良好,只有当用户尝试打开时在 Catalina(beta) 上出现问题,见附图。想知道是不是跟公证有关。

在此处输入图像描述


更新:问题不是由于公证,而是由于代码签名。其中一个节点二进制文件在上传到 MAS 之前没有签名,也许 Catalina 有更严格的规则检查它。

0 投票
0 回答
333 浏览

xcode - 如何将辅助文件添加到我的 macOS .app 存档并仍然通过 Apple 的公证?

我知道这很长,所以这里有一个真正的简短摘要:

  • 我正在尝试构建一个应用程序并将其他预构建的脚本或文件复制到.app/Contents/MacOS目录中。

  • 我可以得到一些有用的东西,仍然提示用户访问麦克风,但它不会通过公证(说签名不好)。我不知道我是否以不正确的方式构建 DMG 和/或 PKG,或者可能将文件复制到安装目标软管中?

  • 如果我将预建文件复制到位,然后在归档后重新签署我的应用程序,我可以通过 Apple 的公证,但随后麦克风访问失败并因侵犯隐私而崩溃(就好像我从未指定权利一样)。

这是详细的较长版本:

我有一个应用程序myApp,它使用我从命令行构建的麦克风作为存档xcodebuild -scheme myApp archive -archivePath myApp.archive

如果我要在这里停下来,该应用程序就可以工作。我有适当的权利,启用代码强化并且NSMicrophoneUsageDescription在我的 plist 中。

但是,我有各种其他资源必须包含在我的应用程序中。我想把它们放在myApp.app/Contents/MacOS目录中。这些资源包括用于调试的 shell 脚本、辅助 Swift 工具等。

我发现不可能使用正确的签名和麦克风访问权限以及通过 Apple 的公证来构建此应用程序。

我通过在 Xcode 中为我的方案中的存档操作指定操作前和操作后脚本,将这些辅助应用程序复制到目标目录中。

行动前存档脚本

操作脚本使用我的Developer ID 应用程序证书对所有辅助对象进行签名:

动作后存档脚本

我的方案中存档的后操作脚本将这些已签名的资产复制到适当的位置(副本必须作为后操作 b/c 完成,存档目标目录在操作前阶段不存在):

然后我建立这个档案。如果我运行open <path-to-archive>/myApp.app它会正确打开并提示访问麦克风。存档中的其他工具正确无误。

公证输出

但是,当我将存档内容捆绑到 DMG 或 PKG 中时,它无法通过以下方式进行公证:

很遗憾它失败了,因为它在 Mojave 上运行良好。未经公证,它永远不会在 Catalina 上运行。

所以我无法判断它是否因为我构建 DMG 或 PKG 的方式而失败,或者它是否因为我将内容放入Contents/MacOS目录而失败(即使它们已签名?)。

我如何构建 DMG

为了清楚起见,这是我用来组装 DMG 的小脚本,我正试图得到公证:

我如何构建 PKG

我还在构建一个也未能通过公证的 PKG。这是我构建 PKG 的脚本:

我希望这不会太长以至于可以提供帮助的人停止阅读。我尽量简明扼要,但也要尽可能多地包含我认为合适的细节。


更新:为了验证我是否不正确地构建了 DMG,我注释掉了操作后存档脚本,构建了应用程序和 DMG 并对其进行了公证。因此,作为存档后操作的一部分,我将文件放入 Contents/MacOS 目录的某些事情破坏了签名。

**