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

macos - 在电子上公证 macOS 应用程序失败,因为 - 未签名 - 我应该签署什么?

我是 macOS 开发的新手,我很难理解如何在苹果服务器中公证我的电子 js 应用程序,我成功制作了一个脚本,将我的构建发送到苹果服务器但应用程序无法公证,我在日志:“包 build.zip 没有签名的可执行文件或捆绑包。无法生成票证。” 我不知道我应该签名,因为“build”是一个文件夹。你能帮我找出问题并告诉我如何解决吗?我有开发人员 ID 证书,但我不知道要签名什么,或者我发送给苹果的文件可能不是我应该发送的文件(我发送构建文件夹)

谢谢你!

0 投票
1 回答
51 浏览

checksum - 将校验和文件添加到我的 macOS 公证应用程序包

我想检测我的 macOS 应用程序可执行文件是否已被某人更改。我不会依赖 Codesign,因为正如我在网上看到的那样,即使经过 Apple 公证,许多应用程序也已被破解。我知道这不能保证最高的安全性,但无论如何我都会添加这种自定义保护。

A)如果我在应用程序存档后(因此在 xcarchive 包中)在捆绑包的 Resources 文件夹中添加校验和文件,则为时已晚。由于操纵,该应用程序将无法启动。我因“终止原因:命名空间代码设计,代码 0x2”而崩溃​​。

B)如果我在应用程序公证后添加或修改校验和文件,同样,它不会启动。

C)如果我在构建阶段使用 shell 脚本修改校验和资源文件,在“运行复制捆绑资源”阶段之前,校验和是错误的,因为此时可执行文件具有不同的文件大小和文件修改日期。

那么,将我自己的校验和文件添加到我的应用程序包中的最佳方法是什么?我运行 macOS 10.15.6 和 XCode 11.5 并为 macOS 10.3/10.5 编译我的 64 位应用程序。

0 投票
0 回答
156 浏览

install4j - Apple 公证失败,install4j 生成 DMG

努力公证使用install4j v8.0.8创建的 DMG 。这就是我所做的:

  • install4j 在 Windows 机器上运行
  • 我们使用打包成 DMG 的“MacOS 文件夹存档”媒体
  • 使用有效的“开发人员 ID 申请”证书按要求对所有内容进行签名
  • 然后将 DMG 带到 MacOS 机器(Big Sur)上,我们用自己的脚本进行公证
  • 公证失败并出现错误“二进制文件的签名无效”指向一个特定文件

当我使用 Mac 工具检查该二进制文件的签名时,它看起来非常好。当我检查 DMG 的签名时,它看起来也很好:

当我从包中删除这个特定的二进制文件时,应用程序会得到很好的公证(包内还有许多其他二进制文件,比如 JRE)。环顾四周,我发现与压缩包的方式有关的类似问题。

如果甚至可以使用 install4j 在 Windows 机器上创建 DMG,然后在 Mac 上进行手动公证,这让我犹豫不决?或者,install4j 创建 DMG 包有什么问题吗?

0 投票
0 回答
48 浏览

java - 如何在 MacOS Apple Store 中上传应用程序

我想将 Java 应用程序发布到 Apple Store。苹果文档建议使用

首先我尝试使用 dmg 文件,但总是出错。然后我在互联网上发现我应该使用一个 zip 文件。使用 zip 时,出现此错误:

xcrun altool --validate-app --file DbSchemaMac.zip -t osx --username "..." --password "..." 2020-11-27 18:34:21.517 altool[22912:4098310] ** * 错误:无法验证存档 'DbSchemaMac.zip': ( "Error Domain=ITunesSoftwareServiceErrorDomain Code=-20008 "Info.plist 表示 iOS 应用程序,但提交的是 pkg 或 mpkg。" UserInfo={NSLocalizedDescription=The Info.plist表示 iOS 应用,但提交的是 pkg 或 mpkg。, NSLocalizedFailureReason=无法验证您的应用。}" )

Info.plist 看起来像这里。有什么问题?

0 投票
0 回答
61 浏览

ios - 公证是否适用于 iOS (iPhone/iPad) 应用程序

公证是否仅适用于 macOS 应用程序,还是 iOS 应用程序也需要?

0 投票
1 回答
72 浏览

java - MacOs 的 Install4J 公证失败基于新的和需要的 2 因素身份验证

从 2021 年 2 月开始,所有用户都需要进行两步验证或两步验证才能登录 App Store Connect ( https://developer.apple.com/support/authentication/ )。

目前我们按照install4j文档的描述进行公证,其中 install4j 被配置为为我们完成整个公证过程:启用公证,在配置中提供 codeSigning 证书和 apple id,身份验证密码由 --apple-id 提供CI 环境中的 -password 命令行参数。

当我们的 CI 构建尝试进行身份验证以上传本机 dmg 以进行公证时,为我们的帐户启用两个因素现在会导致问题,因为验证码 SMS 现在已发送到我们的手机。

我们如何配置 install4j 以使用 2 因素 Apple ID 帐户进行公证?

构建输出:

0 投票
0 回答
264 浏览

macos - Electron.js 应用程序公证失败,您的 Apple ID 帐户已附加到其他提供商

我正在尝试在 Mac 上公证我的 electron.js 应用程序。代码签名成功,然后将.app文件发送到服务器进行公证,但随后该过程失败并出现错误(以下添加错误)。

从网上搜索,我发现这个问题与ascProvider字段有关。我将ProviderShortNamewith 命令xcrun altool --list-providers -u <APPLEID> -p <APP_PASSWORD>添加到ascProvider,它应该已经修复了错误,但公证过程仍然失败。

是否有任何其他可能性来解决此错误?

我从公证中得到的错误

notarizing.js的是这样的

0 投票
1 回答
54 浏览

java - install4j 支持通过 System.loadLibrary 加载 dyld 库的代码签名 MacOS 控制台启动器

我使用 install4j 8.0.8 创建的 MacOS 文件夹 DMG 媒体文件存在问题。如果我对包进行代码签名,则所有内容都会正确签名,包括驻留在 lib/ 目录中的 *.dyld 文件。此外,我的 GUI 程序工作正常,对 System.loadLibrary() 的调用成功并正确加载了 dyld 文件。但是,调用与我的 GUI 程序相同的 Java 代码的命令行程序在调用 System.loadLibrary() 并显示以下消息时会失败:

但是,如果我在为 MacOS 构建媒体文件时禁用代码签名(我通过从 Ant 传递 disableSigning=true 来实现),那么 GUI 和命令行程序都可以正常工作。

所以可能,我不明白在从控制台启动器与在 MacOS 上的 GUI 启动器(我正在运行 Big Sur)运行程序时,我是否需要对 Java VM 参数做一些额外的事情。或者只是无法在按需加载 dyld 文件的代码签名媒体文件中运行控制台启动器?可能是因为控制台启动器是作为 MacOS 上的脚本实现的。install4j 8 文档似乎没有提到我能找到的这种细微差别。

已安装文件的目录结构如下所示:

此外,控制台启动器脚本包含添加DYLD_LIBRARY_PATH如下内容的行:

如果我不签署媒体文件,所有这些都有效,并且控制台启动器脚本是相同的。

0 投票
0 回答
131 浏览

macos - Mac OS X Notarizing Application - 二进制文件的签名无效

我有 Mac OS X 的 .app 。我已经用我的钥匙串签名成功地签署了它。我尝试在 .ZIP 文件中对其进行公证,但只有错误:

二进制文件的签名无效

我存档中每个二进制文件的此错误。我阅读了有关签名的 zip/ditto 差异,我打包如下:

问题是一样的。

spctl -a -vvvvv 用于 .app 或二进制文件显示一切正常。我应该怎么办 ?

0 投票
1 回答
303 浏览

macos - 为什么使用自制软件安装的可执行文件在 MacOS 上受信任?

我有一个关于自制软件的愚蠢问题:为什么我通过自制软件安装的可执行文件受 MacOS(网守)信任?即安装后我可以运行一个可执行文件并且没有安全弹出窗口并且不必允许异常 - 为什么会这样?

我最初认为 homebrew 可能会在他们的 CI 中对二进制文件进行签名/公证,但是查看一些随机的可执行文件,它看起来不像他们有签名:spctl -a -v $(which <some-executable-installed-with-homebrew>).

编辑:意思是从瓶子安装的可执行文件(预编译的二进制文件,而不是在我的本地机器上编译的源包)