我们最近购买了EV代码从DigiCert签名证书签署我们的MSI来解决在Windows的SmartScreen警告消息。问题在于证书已交付给不允许导出私钥的USB令牌。我们的构建环境位于托管虚拟机上,因此我们无法将USB令牌插入主机虚拟机。如何使用虚拟机上的EV代码签名证书签署MSI
有没有人有在托管虚拟机上使用EV代码签名证书的解决方案?所有证书供应商是否将这种类型的证书传递给硬件令牌?你如何在使用这种类型的Cert的虚拟环境中对MSI进行代码签名?
我们最近购买了EV代码从DigiCert签名证书签署我们的MSI来解决在Windows的SmartScreen警告消息。问题在于证书已交付给不允许导出私钥的USB令牌。我们的构建环境位于托管虚拟机上,因此我们无法将USB令牌插入主机虚拟机。如何使用虚拟机上的EV代码签名证书签署MSI
有没有人有在托管虚拟机上使用EV代码签名证书的解决方案?所有证书供应商是否将这种类型的证书传递给硬件令牌?你如何在使用这种类型的Cert的虚拟环境中对MSI进行代码签名?
EV代码签名证书需要使用特殊硬件来存储私钥。这是什么让他们比标准证书更昂贵和更安全的一部分。我的建议是在主机上使用signtool.exe签署可执行文件作为后期构建步骤。
普通代码签名证书不具备的硬件要求,但他们不作为“SmartScreen筛选器友好”作为EV证书。
我对我们完全没有问题。我们在不到15分钟的时间内从支持PFX(文件)的标准代码签名证书切换到支持USB代币的EV代码签名证书。
我只需将USB令牌设备连接到客户 OS在VMWare(见的设备客户端操作系统窗口的右下角图标),安装必要的设备驱动程序,设置的选项需要密码来解锁只有一次会议,然后很好去。
至于如何签名,您可以像使用任何其他证书一样签名。如果操作系统的证书存储区中没有其他适用的代码签名证书,则则不需要指定证书的位置。
我担心我们会有麻烦,但没有。所以,我不认为你会,并且不知道你为什么会有麻烦。
在虚拟机上的isntallign证书之后,我可以使用cmd成功签署一个程序集,但每次构建代理(在我们的例子中为Team City)尝试执行命令行或使用命令行调用批处理文件时,返回“SignTool错误:未找到符合所有给定条件的证书”。构建代理是该机器上的管理员。你有没有遇到过这个?如果不是,你可以详细说明你的设置? – 2016-04-11 13:23:14
@NeilVarnas将'/ debug'添加到您的signtool cmds中,并根据signtool在TeamCity案例中删除所有证书的方式进行解决。您可能可以调整您的signtool调用,以向signtool提供关于选择哪个证书的提示。 – azhrei 2016-04-12 07:24:38
@NeilVarnas不,我从来没有遇到过这样的事情。听起来像特定于您的构建代理的东西。我所有的签名都是通过signtool.exe。 – 2016-04-15 06:29:17
对于有此问题的其他人,我们使用VNC服务器连接到具有令牌的VM。它不适用于仅RDP的VNC。
显然,VNC就像有控制台访问盒(就RV Dongle而言)。
我有同样的问题。有关于此的任何发现? [自动化推广的验证(EV)代码签名]的 – 2013-04-23 03:29:45
可能重复(http://stackoverflow.com/questions/17927895/automate-extented-validation-ev-code-signing) – 2015-06-17 05:38:49