问题标签 [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.
java - 公证 MacOS Catalina 的现有 Java 应用程序
我为 MacOS 分发了一个 Java 应用程序,它是开发人员签名的,但没有经过公证。不确定从哪里开始,因为文档偏向于使用我不使用的 Xcode 创建应用程序,但我只想要最简单的方法来公证我的应用程序,然后继续。
阅读文档我已经有一些担忧:
我目前正在使用 Java 8,是否可以对 Java 8 应用程序进行公证,或者我是否需要迁移到 Java 11。我宁愿不迁移到 Java 11,因为它会在我支持的其他一些平台上引起问题。
我的开发 Mac 机器是旧的 MacBook Pro,因此无法在 OSX El Capitan 10.11.6 之后更新,我可以用这台机器进行公证吗?我确实有一台更新的机器,但它不是为开发而设置的,我对将开发人员 ID 证书传输给它有些担心,因为首先设置它是有问题的。
我使用 AppBundler fork https://github.com/TheInfiniteKind/appbundler/来打包我的应用程序
这由执行签名等的 ant 脚本构建文件调用,我们最终使用 dmgCanvas 创建一个 dmg
我在下面发布了蚂蚁脚本,希望有人可以从基本步骤开始
/li>
macos - 如何公证 MacOS 10.15 Catalina 的可执行 shell 脚本 (.command) 文件
这是与其他帖子中讨论的不同场景:
我有一个 .sh (shell 脚本),我已将其更改为 .command (可执行的 shell 脚本)。它使用代码签名进行签名,并在已签名的 .dmg 上分发。
然而,Catalina(当然)不喜欢它——抱怨它“无法打开,因为 Apple 无法检查它是否存在恶意软件”。如果用户右键单击并从上下文菜单中选择“打开”,用户仍然可以打开 .command 文件,但仍会显示警报,尽管这次有可用的“打开”按钮。
我真的很想避免仅仅为了执行一些shell脚本行而创建一个简单的命令行应用程序——这样它就可以被公证。
有谁知道如何解决这个问题?
斯蒂芬
node.js - macOS Catalina 公证:使用 pkg npm 模块创建代码签名可执行文件时出现“严格验证失败”错误
我已经使用pkg将 Node.js 脚本打包成可执行文件。在 macOS catalina 版本中,所有软件都应经过 Apple 公证。由于 Apple 只允许.dmg
,.pkg
或.app
文件进行分发。我使用pkgbuild创建了一个 OS X 安装程序并尝试了以下操作:
- 公证
.pkg
:它失败并出现错误:The binary is not signed.
虽然它是代码签名的。 - 首先对二进制文件进行代码签名:我尝试在公证之前先对二进制文件(即使用pkg创建)进行代码签名。它也因错误而失败
main executable failed strict validation
。
我在 GitHub 上发现了pkg的类似问题。我尝试了多个 npm 模块,包括nexe、encloseJS,但没有成功。
是否有任何替代方案,或者我是否应该将本机 Node.js 二进制文件与我的脚本捆绑到 pkg 安装程序中,以便轻松公证?
macos - 如何从 Apple 下载经过公证的文件?
我已经通过命令行成功为我正在为其开发插件的 Mac 应用程序公证了一个插件。此插件旨在用于 Mac appstore 之外的分发。
收到一封已成功公证的电子邮件,并且该电子邮件包含有关如何导出以进行分发的说明。但是,这是 XCode UI 的说明,但我通过命令行进行了公证,因此说明不适用于我。是否有用于下载公证文件(Plugin.zip
)的命令行,或者如何Plugin.zip
从 Apple 获取文件以将其分发到我的网站上?
更新:
事实证明,您可以对 .zip 文件进行公证,但不能装订它。所以我决定创建一个 .pkg 来分发我的插件,而不是通过 zip 文件分发。
这是我成功公证和装订我的插件所遵循的步骤,假设我的插件名称是FileConvertor.PluginExtension
- 对要包含在安装程序中的二进制文件进行代码签名。
codesign --sign "Developer ID Application: Developer Name" --verbose=4 --deep --force --strict FileConvertor.PluginExtension
- 创建您的安装程序 (.pkg) 添加上述代码签名
.PluginExtension
- 现在使用安装程序证书签署您的安装程序。
productsign --sign "Developer ID Installer: Developer Name" ./FileConvertor.pkg ./FileConvertorSigned.pkg
- 发送已签名的安装程序进行公证
xcrun altool --notarize-app --primary-bundle-id "com.demo.plugin" --username xyz@abc.com" --password "xxxx-xxxx-xxxx-xxxx" --file FileConvertorSigned.pkg
- 如果公证成功,请装订您的安装程序
xcrun stapler staple FileConvertorSigned.pkg
- 在网络上分发您的安装程序
java - Java 工具公证流程
我们使用 Java SE 11 开发了 GUI 工具,使用 Maven 打包。建议用户下载并在系统路径中设置Java以启动该工具。Windows 的批处理文件和 Mac 和 Linux 的 .command 文件。我们是否需要获得苹果的公证批准才能在 Mac OS 中使用它。请指教
谢谢
macos - mac 的 install4j 8 和公证不起作用
我们正在努力让 install4j 8 Mac 公证工作。
在 Mac Catalina 上使用 install4j Multi-Platform Edition 8.0.2(内部版本 8057)。
“Notarize macOS 媒体文件”复选框被选中,导致配置:
但是当我们跑
我们得到以下日志,表明尚未应用公证过程:
按照以下文档中的说明进行操作: https ://www.ej-technologies.com/resources/install4j/help/doc/install4j.pdf
“如果您在 macOS 上构建,install4j 可以为您执行整个公证过程。在 install4j IDE 中,必须选中“构建”步骤中的 Notarize macOS 媒体文件复选框(仅在 macOS 上可见)。对于命令行构建, --apple-id 和 --apple-id-password 命令行参数或 Gradle、Maven 和 Ant 插件的等效参数必须设置"
我们的 Apple ID 和密码已在 install4j 属性文件的 maven settings.xml 文件中设置:
需要帮助找出公证程序未运行的原因。
最后一个问题:install4j 是否将公证票装订到安装程序中?
亲切的问候塔马斯
java - 无法在 MacOS Catalina 下安装经过公证的 Java 应用程序
我有一个用 Java 编写的应用程序。我使用 appbundler 将 JVM 与应用程序捆绑在一起,然后使用 pkgbuild 创建一个 .pkg 安装程序。在我添加公证并升级到 Catalina 之前,这一直很好。公证和装订工作正常。但是 .pkg 安装程序会生成错误,“尝试安装到系统卷”。
我已经更新到最新版本的 appbundle。它创建一个嵌入 jdk1.8.0_151.jdk 的应用程序。
这是我的entitlements.plist:
我使用以下命令来创建安装程序:
当我在 finder 中双击 Myapp.app 时,它运行良好。如果我运行 Myapp.pkg,安装程序会成功运行,但它会替换我开发目录中的副本。要将 Myapp 安装在 Applications 目录中,必须运行sudo pkgutil --forget com.myapp.tony.Myapp
. 然后当我再次运行 Myapp.pkg 时,在安装程序请求我的密码后,它会报告“此软件包与此版本的 macOS 不兼容。该软件包正在尝试将内容安装到系统卷。” 这与第一次尝试安装的用户向我报告的内容相同。
有什么建议么?
macos - Mac 应用程序 Notarization 发出警告“签名不包含安全时间戳”
我在我的 mac osx 应用程序中使用了几个 .dylib 库。在公证时,我得到了经过公证的应用程序(准备分发状态),但它显示 2 个警告,
- “二进制文件未签名。”
- “签名不包括安全时间戳。”,对于我添加的库。
我正在使用第三方库“ivona”进行文本到语音,为此使用了这些库。现在我的问题是
- 在发出这样的警告的情况下分发这些应用程序是否安全?
如何为这些库添加时间戳以删除这些警告?
swift - 如何在不破坏公证的情况下更新 macOS 捆绑包?
我有一个应用程序,可以通过小型安装程序包扩展附加功能。在安装过程中,附加文件被放置在应用程序包中。如何确保公证之后仍然有效?此工作流程中的所有可能性都会破坏签名。我错过了什么吗?
问题是我不能在应用程序中包含附加功能的加载。它必须通过外部安装程序提供。