EV增强型代码签名证书除了验证企业名称之外还需要对企业营业地址、经营类型进行验证,支持Windows10内核模式软件签名,注意:微软自2015年10月31日起Windows10内核驱动签名都要提交EV代码签名凭证。使用EV增强型代码签名证书给软件签名具体如下:

EV增强型代码签名证书除了验证企业名称之外还需要对企业营业地址、经营类型进行验证,支持Windows10内核模式软件签名,注意:微软自2015年10月31日起Windows10内核驱动签名都要提交EV代码签名凭证。使用EV增强型代码签名证书给软件签名具体如下:

一、准备工具

为了安全起见请尽可能使用微软官方签名工具signtool 

SignTool支持的参数:
  • sign: 配置工具来签署文件
  • /v: 指定成功执行和错误信息的详细选项
  • /s: 指定证书仓库(如果证书安装在个人仓库中,那么SPC证书仓库使用 MY)
  • /t: 指定给数字签名添加时间戳的时间戳机构所使用的链接
  • /f: 指定签名证书文件。只支持个人信息交换(PFX)文件格式
  • /pa: 指定使用默认验证审查策略

时间戳:

DigiCert - Symantec:

  • SHA1:http://timestamp.verisign.com/scripts/timstamp.dll
  • SHA256 RFC 3161: http://sha256timestamp.ws.symantec.com/sha256/timestamp

GeoTrust, Thawte等子品牌与Symantec时间戳共用

Comodo:

  • SHA1:http://timestamp.comodoca.com/authenticode
  • SHA256:http://timestamp.comodoca.com

TrustCenter

  • SHA256:http://www.trustcenter.de/codesigning/timestamp

二、软件签名

1. 将Safenet U盾插入签名软件电脑中

2. 运行CMD输入Signtool安装路径:

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin

注意:示例为默认安装SDK的路径

3. SHA1签名附带时间戳:

signtool.exe sign /s my /t http://timestamp.verisign.com/scripts/timstamp.dll /v "C:\filename.dll"

注意:如果个人证书仓库中安装了多张证书,请使用 /sha1 参数来指定扩展签名证书的哈希。例如:

signtool.exe sign /s my /sha1 cert_thumbprint_value /t http://timestamp.verisign.com/scripts/timstamp.dll /v "C:\filename.dll"

4. SHA256 附带RFC 3161 时间戳签名:

signtool.exe sign /s my /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /v "C:\filename.dll"

注意:如果个人证书仓库中安装了多张证书,请使用 /sha1 参数来指定扩展签名证书的哈希。例如:

signtool.exe sign /s my /sha1 cert_thumbprint_value /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /v "C:\filename.dll"

EV代码签名的证书及密钥存储在Token中,故上述命令均不需要指定证书。

运行以上命令之后,SafeNet会弹出Token的密码框,输入密码后点击OK

68212c3f251aa17e6482fc0a2223f120.png

注意: 如果您需要批量签名,您需要启用 SafeNet单次登陆,当您启用单次登陆并登陆到Token后,就会免密批量签名了 

三、测试签名

在发布签名软件之前,使用signtool.exe命令来测试数字签名,执行下述命令:

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
signtool.exe verify /pa /v "C:\filename.dll"  

关于Windows 内核驱动签名的注意事项,请参考:Windows内核驱动签名注意事项

相关文章