install4j:在同一台计算机上自动执行 Windows 扩展验证代码签名和 Apple Notarization?

问题描述 投票:0回答:3

更新:从install4j 11开始,macOS公证是跨平台的


我们正在考虑切换到扩展验证(EV)代码签名证书。

为了完全自动化 Apple 的公证,我们必须将构建机器切换为 Mac mini。

阅读EV代码签名流程,以及如何实现自动化,出现了两个问题:

硬件令牌(HSM)的密码输入可以自动化吗?

Ingo Kegel 对这个问题的评论似乎表明您可以通过

--win-keystore-password=<password>
命令行选项传递HSM密码。

正确吗?

多平台构建仍然可以在单台机器(Mac mini)上进行吗?

install4j 帮助提到“不同平台”:

在 Windows 上,通常可以通过以下方式访问此类硬件令牌 Windows 密钥库。在不同的平台上,您必须选择 “硬件安全模块 PKCS #11 库”选项并配置 本机库,通过以下方式提供对 HSM 中密钥库的访问 PKCS #11 API。

有适用于 MacOS 的 PKCS #11 库吗?库选择对话框要求提供 DLL...

code-signing install4j hardware-security-module safenet notarization
3个回答
3
投票

我可以确认我们已成功运行此程序(Windows EV 代码签名和 Apple Notarization 在 Mac mini 上均已自动化):

  • 购买了Sectigo EV代码签名证书
  • 将交付的 SafeNet eToken 5110(USB 适配器)连接到 Mac mini
  • 已安装SafeNet 身份验证客户端(在 Mac mini 和 Windows 上进行测试)
  • 从令牌中导出证书来查看证书链
  • 从 Windows 密钥库 (certmgr.msc) 导出链证书
  • 将链证书导入到令牌上(显然一些发行者会为您执行此操作并提供不仅包含签名证书而且还包含其链的令牌)
  • 如果无法将证书添加到令牌中,可以通过编译器变量将它们提供给目录中的 install4j
    sys.ext.certDir
  • 配置 install4j 代码签名以使用 SafeNet 身份验证客户端提供的 PKCS11 库:
    /usr/local/lib/libeTPkcs11.dylib
  • 对于 Windows 测试:
    C:/Windows/System32/eTPKCS11.dll
  • 最后:不再有 SmartScreen 消息

cert-import

install4j-config


2
投票

Ingo Kegel 对这个问题的评论似乎表明你可以 通过 --win-keystore-password= 命令行传递 HSM 密码 选项。

是的,这是正确的。此选项在非 Windows 平台上也可用,也可用于 Windows 可执行文件的代码签名。

多平台构建仍然可以在单台机器(Mac mini)上进行吗?

是的,涉及公证的多平台构建只能在 macOS 上执行,因为 Apple 不允许除 macOS 之外的公证请求。

有适用于 MacOS 的 PKCS #11 库吗?库选择对话框要求 一个 DLL...

您的 HSM 需要一个库,这将是 Linux 上的 .so 文件或 macOS 上的 *.dylib 文件。我为文件选择器创建了一个问题,以根据当前平台显示正确的文件过滤器。

此类库是否可用于 macOS 取决于 HSM。这些库由 Java Cryptography Api (JCA) 加载,并且 install4j 在这方面没有特定于 Windows 的代码。


1
投票

根据 Ingo Kegel 的回答,我快速浏览了常见的 HSM 令牌及其库支持。在这里编译仅供将来参考(我现在无法实际测试它)。

DigiCert 和 Sectigo 的 USB 令牌 (HSM) 似乎是 SafeNet eToken 的某个版本。

SafeNet 显然被金雅拓收购,而金雅拓又被泰雷兹收购。

DigiCert 和 Sectigo 都提供 SafeNet eToken 驱动程序和身份验证客户端的下载(适用于 Window/MacOS/Linux)。我在泰雷兹网站上找不到任何下载。

这篇关于使用 SafeNet eToken 5100 在 MacOS Sierra 上签署 PDF 文档的文章有一个显示驱动程序文件的屏幕截图:

/usr/local/lib/libeTPkcs11.dylib

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.