install4j是否支持智能卡EV代码签名证书

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

刚刚获得 EV 代码签名证书,它位于 USB 密钥中,插入后会显示在 Windows 证书存储中。install4j 确实可以选择在签名时使用 Windows 证书存储中的证书。

但是当我尝试使用此选项时,出现错误:

引起:com.install4j.d.k:org.bouncycastle.operator.OperatorCreationException:无法创建签名者:不支持密钥类型
导致:org.bouncycastle.operator.OperatorCreationException:无法创建签名者:不支持密钥类型
原因:java.security.InvalidKeyException:不支持密钥类型 在 jdk.crypto.mscapi/sun.security.mscapi.RSASignature.engineInitSign(RSASignature.java:533)

那么,install4j 支持这些证书吗?

更进一步:使用密钥需要在签名时输入 PIN。

对于自动化构建,每晚都会构建安装程序,install4j 如何处理 PIN(我在项目文件中没有看到任何选项)?

install4j
2个回答
0
投票

我可以确认这原则上确实有效,没有弹出 PIN 对话框,至少在这个特定配置中:

  • Sectigo EV 代码签名证书
  • SafeNet 电子令牌 5110

0
投票

我们使用 Intellij 在 Mac 上开发 JavaFX 应用程序。我们的打包和代码签名过程由 install4j 处理,并且我们使用 Sectigo 来获取证书。

2024 年 1 月之前,代码签名证书驻留在 Mac 计算机上,我们使用 PFX 文件。最近,我们转向基于硬件,Sectigo 向我们邮寄了一个 HSM,“SafeNet eToken 5100/5110”。

首先我们访问了 Sectigo 网站,在那里我们下载了 Safenet 程序并将其安装到我们的 Mac 计算机上。 Safenet 将 dylib 文件安装在 /usr/local/lib/ libeTPkcs11.dylib (我们将 install4j 指向该文件)。

HSM 附带了我们安装的证书。然后,Sectigo 通过电子邮件向我们发送了相关的根证书、中间证书和交叉签名证书,我们手动将每一项证书导入到令牌中。 (请注意,Sectigo 通过电子邮件发送给我们的证书具有“crt”扩展名,我们将其更改为“cer”扩展名)。

这对我们有用。

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