
方法一
有工具软件可以制作数字签名证书,比如openssl,但自签的,在别人的机器上,回出现签名无法校验的问题。除非人家信任,否则人家不会安装你的证书。
2、用工具软件对exe或其他任何文件,进行数字签名。可以是免费的UI工具,比如:kSign;也可以类似signtool(微软的命令行工具);还可以 *** 作系统的向导程序(比如微软Windows上的签名文件安装,导入并对文件数字签名的向导)。xNix下,可以用GnuPG(gpg)从证书到签名,一次搞定。
3、你要是做程序开发的,可以利用signtool这样的命令行工具,写批处理,然后加入自己项目的make过程中自动加签。
方法二
1、在CMD中,输入命令makecert做了cer和PVK文件;
2、打开signcode.exe把cer和PVK文件导入了我的程序;
3、运行我的程序,在360里面,还是没有显示MD5值。
具体如下:
1、通过makecert.exe生成需要的证书,用cmd命令打开窗口,输入命令D:\证书创建工具\makecert -$ "individual" -r /sv "1.PVK" /n "CN=Windows,E=microsoft,O=微软" 1.cer,生成两个文件分别是1.cer和1.PVK。
2、需Signcode.exe(文件签名工具),打开,添加需要数字签名的程序。
3、自动选择自定义选项,下一步,然后点击从文件中选择1.cer文件,1.cer文件在第一个步骤你生成的目录中,然后下一步。
4、点击浏览按钮,添加文件1.PVK,1.PVK文件也是在第一步生成的目录中,点击下一步,哈希算法,自己随便选,可以选md5,也可以选sha1.,点击下一步。
5、默认点击下一步,出现数据描述框,自己可以填写,也可以不填。点击下一步。
6、填写时间戳服务器URL:http://timestamp.wosign.com/timestamp,也可以不选添加时间戳,点击下一步,完成,d出签名成功框。
7、右键点击软件属性,检验数字签名是否成功。数字签名总过程就是这个样子,让软件更加安全可靠。
EV增强型代码签名证书除了验证企业名称之外还需要对企业营业地址、经营类型进行验证,支持Windows10内核模式软件签名,注意:微软自2015年10月31日起Windows10内核驱动签名都要提交EV代码签名凭证。使用EV增强型代码签名证书给软件签名具体如下:
一、准备工具
为了安全起见请尽可能使用微软官方签名工具signtool
Microsoft Windows SDK for Windows 7 and .NET Framework 4 (含有signtool.exe签名工具)
SafeNet U盾工具箱(SafeNetAuthenticationClient-x32-10.3.msi SafeNetAuthenticationClient-x64-10.3.msi)
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 FilesMicrosoft SDKsWindowsv7.1Bin
注意:示例为默认安装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会d出Token的密码框,输入密码后点击OK
请点击输入图片描述
注意: 如果您需要批量签名,您需要启用 SafeNet单次登陆,当您启用单次登陆并登陆到Token后,就会免密批量签名了
三、测试签名
在发布签名软件之前,使用signtool.exe命令来测试数字签名,执行下述命令:
C:Program FilesMicrosoft SDKsWindowsv7.1Bin
signtool.exe verify /pa /v "C:filename.dll"
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)