我们正在考虑切换到扩展验证(EV)代码签名证书。
为了完全自动化与苹果的公证,我们不得不将我们的构建机器切换到Mac mini。
硬件令牌(HSM)的密码输入可以自动化吗?
Ingo Kegel对此问题的评论似乎表明您可以通过--win-keystore-password=<password>命令行选项传递HSM密码。
对吗?
一个多平台的构建还能发生在一台机器上( machine )吗?
install4j帮助提到了“不同的平台”:
在Windows上,这样的硬件令牌通常可以通过Windows密钥库访问。在另一个平台上,您必须选择“硬件安全模块PKCS #11库”选项,并配置一个本机库,该库通过PKCS #11 API提供对HSM中密钥存储库的访问。
是否有用于MacOS的PKCS #11库?库选择对话框请求一个DLL..。
发布于 2022-04-14 08:44:33
Ingo对此问题的评论似乎表明,您可以通过--双赢-密钥库-密码=命令行选项传递HSM密码。
是的,这是正确的。此选项在非Windows平台上也可用于Windows可执行文件的代码签名。
一个多平台的构建还能发生在一台机器上( machine )吗?
是的,涉及公证的多平台构建只能在macOS上执行,因为除macOS之外,苹果不允许公证请求。
是否有用于MacOS的PKCS #11库?库选择对话框请求一个DLL..。
您需要为您的HSM提供一个库,这将是Linux上的.so文件或macOS上的*.dylib文件。我已经为文件选择器创建了一个问题,以显示基于当前平台的正确的文件过滤器。
这种库是否可用于macOS取决于HSM。这些库由Java密码学Api (JCA)加载,install4j在这方面没有特定于Windows的代码。
发布于 2022-04-14 10:05:17
基于Ingo的回答,我快速查看了常见的HSM令牌及其库支持。这里编译的只是为了将来的参考(我现在没有办法实际测试这个)。
DigiCert和Sectigo的USB令牌(HSM)似乎是SafeNet eToken的某些版本。
SafeNet显然是被Gemalto买下的,而Gemalto又被泰勒斯买下了。
DigiCert和Sectigo都为SafeNet eToken驱动程序和身份验证客户端(用于Window/MacOS/Linux)提供下载。我在泰勒斯的网站上找不到任何下载。
这个关于使用MacOS eToken 5100在SafeNet eToken 5100上签署PDF文档的帖子有一个显示驱动程序文件的屏幕截图:
/usr/local/lib/libeTPkcs11.dylib

发布于 2022-05-02 10:06:17
我可以确认我们成功地实现了这个运行( Windows EV代码签名和苹果公证在Mac mini上都是自动化的):
sys.ext.certDir将它们提供给目录中的sys.ext.certDir。/usr/local/lib/libeTPkcs11.dylibC:/Windows/System32/eTPKCS11.dll


https://stackoverflow.com/questions/71868319
复制相似问题