我们公司从GlobalSign订购了一个EV证书。
以前,我们拥有一个普通的代码签名证书,是一个p12文件,可以在Install4J中使用。
现在,有了新证书,我们没有证书文件,而是有一个USB令牌。
是否有内置的方法可以使用USB令牌来签署可执行文件/jar文件?或者我需要像这里提到的那样使用媒体向导的“可执行处理”步骤?
也许有一种方法可以从一台机器(如macos)签署所有安装程序(win、mac、linux)?
我们公司从GlobalSign订购了一个EV证书。
以前,我们拥有一个普通的代码签名证书,是一个p12文件,可以在Install4J中使用。
现在,有了新证书,我们没有证书文件,而是有一个USB令牌。
是否有内置的方法可以使用USB令牌来签署可执行文件/jar文件?或者我需要像这里提到的那样使用媒体向导的“可执行处理”步骤?
也许有一种方法可以从一台机器(如macos)签署所有安装程序(win、mac、linux)?
根据Ingo的回答,无法使用EV代码签名证书。希望未来可以实现。
正如我在问题中所说,您必须在媒体向导中使用“可执行文件处理”(仅适用于Windows)。
您可以在Windows上使用Microsoft的codesign,也可以使用一个名为jsign的小工具,在所有平台上使用EV代码签名证书对Windows可执行文件进行签名。
这是我们对jsign的调用:
java -jar jsign-2.0.jar --keystore ./eToken.cfg --alias %GetAliasOfYourToken% --storetype PKCS11 --tsaurl http://timestamp.comodoca.com/authenticode --storepass %WriteTokenPasswordHere% $EXECUTABLE
eToken.cfg是一个简单的文本文件,有两行:
name=eToken
library=/usr/local/lib/libeTPkcs11.dylib(因为我在MacOS上)
对于 Windows,应该是:
library=c:\WINDOWS\system32\eTPKCS11.dll
还是需要像这里提到的那样使用媒体向导的“可执行处理”步骤吗?
是的,那是唯一的方法。
也许有一种方法可以从一台机器(例如macOS)签署所有安装程序(win、mac、linux)吗?
不幸的是,这是不可能的。
更新于2019年10月22日
自从install4j 8.0版本以来,支持硬件安全模块(PKCS#11)用于Windows代码签名,并且可以在常规设置->代码签名步骤中进行配置。