使用SHA256证书进行微软数字签名代码签名

微软是第一个宣布了SHA-1弃用计划,在2016年之后Windows和IE将不再信任SHA-1证书。正好我们公司的数字签名也到期了,索性就重新申请了sha256和sha1的新数字证书,用来给产品签名。

查阅signcode的文档发现,signcode的命令行-a是用来指定数字签名的签名算法,只支持sha1和md5,不支持sha256

/fd来指定签名,md5、sha1、sha256均支持:

SignTool.exe sign /v /as /ac /f D:\test\sign\sign_sha256\xxx.pfx /p xxxx /t http://timestamp.wosign.com/timestamp /fd sha256 被签名文件路径

常见问题:

as选项不识别的问题,可能原因:SignTool版本过低,使用win10的sdk,目录C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe。依赖的库有ncrypt.dll,bcrypt.dll等dll仅在vista及以上系统上有。需要拷贝到老系统上才能正常使用signtool.exe,同时拷贝同目录下的:

appxpackaging.dll
appxsip.dll
mssign32.dll
opcservices.dll
signtool.exe
signtool.exe.manifest
wintrust.dll
wintrust.dll.ini
Microsoft.Windows.Build.Appx.AppxPackaging.dll.manifest
Microsoft.Windows.Build.Appx.AppxSip.dll.manifest
Microsoft.Windows.Build.Appx.OpcServices.dll.manifest
Microsoft.Windows.Build.Signing.mssign32.dll.manifest
Microsoft.Windows.Build.Signing.wintrust.dll.manifest

再试验出现以下错误:

SignTool Error:The /t option is incompatible with the /as option.

SignTool Error: Specify the RFC 3161 timestamp server‘s URL instead with /tr.

把/t换成/tr,但是出现错误:

SignTool Error: The specified timestamp server either could not be reached orreturned an invalid response.

经过一番努力后,将http://timestamp.wosign.com/timestamp替换成http://timestamp.wosign.com/rfc3161或者ttp://timestamp.geotrust.com/tsa解决问题。http://timestamp.wosign.com/rfc3161和ttp://timestamp.geotrust.com/tsa是较新的时间戳服务格式,兼容/t和/tr,而http://timestamp.wosign.com/timestamp只适用于/t。最后将两个签名指令放到批处理文件里:

set sign_folder=%~dp0%

%sign_folder%\SignTool.exe sign /v /f %sign_folder%example.pfx /p examplepassword/tr http://timestamp.wosign.com/rfc3161 /fd sha1"%1"

%sign_folder%\SignTool.exe sign /v/as /f %sign_folder%example.pfx /p examplepassword /tr http://timestamp.wosign.com/rfc3161 /fd sha256 "%1"

时间: 2024-08-03 04:49:27

使用SHA256证书进行微软数字签名代码签名的相关文章

微软EV代码签名证书

沃通WoSign EV代码签名证书(多用途版)今日正式上线! EV代码签名证书具有普通内核代码签名证书的所有功能,但不同的是采用更加严格国际标准扩展验证(EV验证),并且有严格的证书私钥保护机制--必须采用 USB Key来保护签名证书的私钥,以防止证书被非法盗用,确保签名证书安全. WoSign EV代码签名证书执行国际标准组织CA/浏览器论坛和微软规范的严格身份验证标准,验证申请人身份后签发,主要用于软件开发者对各种软件和代码进行数字签名,不仅能证明代码的开发者真实身份,而且能确保用户通过互

IOS证书/私钥/代码签名/描述文件

1.   相关资源 (1)   钥匙串程序(常用工具->钥匙串),用于创建证书请求.安装证书.导出私钥等 (2)   IOS开发中心:https://developer.apple.com/devcenter/ios/index.action (3)   IOS描述门户(IOS provisioning Portal),在此配置证书.描述文件.推送服务等: https://developer.apple.com/ios/manage/overview/index.action, (4)   IO

java-信息安全(十三)-数字签名,代码签名【Java证书体系实现】

概述 信息安全基本概念 前置 java-信息安全(十二)-数字签名[Java证书体系实现] 过程 通过工具JarSigner可以完成代码签名.  这里我们对tools.jar做代码签名,命令如下: 进入D盘下 jarsigner -storetype jks -keystore zlex.keystore -verbose tools.jar www.zlex.org 输出 输入密钥库的口令短语: 正在更新: META-INF/WWW_ZLEX.SF 正在更新: META-INF/WWW_ZLE

微软指定推荐沃通WoSign EV代码签名证书

为了Windows 10操作系统的安全,微软要求所有驱动软件都必须用EV代码签名证书进行内核签名才能运行.沃通WoSign EV代码签名证书成为微软指定Windows 10内核驱动代码签名证书,将被列入微软官方推荐购买列表,全球仅3家CA机构的代码签名证书获得推荐. 微软已经为沃通WoSign两个根证书都签发了内核驱动专用的交叉签名证书,有效期为10年,可用于签名各个操作系统的内核代码和Windows 10驱动程序. EV代码签名证书的作用 代码签名证书主要用于软件开发者对各种软件和代码进行数字

Thawte 企业版代码签名证书

  Thawte企业版代码签名证书 ,严格验证企业身份,如果您是个人开放者,请申请Thawte 个人代码签名证书.Thawte企业代码签名证书 可帮助程序开发者使用微软代码签名工具(Microsoft Authenticode)为他们的程序进行数字签名.你可以在互联网上传送经过代码签名的软件,包括:可执行文件.设备驱动.中间件.ActiveX控件,用户可以通过检验数字签名,来确认软件开发者的身份,以及在传送过程中是否被别人篡改或破坏.如果您需要签名内核驱动代码,需要申请Symantec 单位代码

沃通WoSign推出“EV代码签名证书

沃通WoSign EV代码签名证书(多用途版)今日正式上线! EV代码签名证书具有普通内核代码签名证书的所有功能,但不同的是采用更加严格国际标准扩展验证(EV验证),并且有严格的证书私钥保护机制--必须采用 USB Key来保护签名证书的私钥,以防止证书被非法盗用,确保签名证书安全. WoSign EV代码签名证书执行国际标准组织CA/浏览器论坛和微软规范的严格身份验证标准,验证申请人身份后签发,主要用于软件开发者对各种软件和代码进行数字签名,不仅能证明代码的开发者真实身份,而且能确保用户通过互

天威诚信代码签名证书助手操作指南

天威诚信数字签名工具 代码签名工具,帮您一站式完成,证书管理,数字签名,工具更新,让数字签名变得如此简单! 证书管理支持多个主流时间戳地址:支持时间戳自主选择功能:支持签名描述和URL:支持双签名,并自主选择不同哈希算法的证书: 数字签名保存用户输入参数:导出私钥支持设置密码,更安全:一键签名,自动识别如CAB包中子文件,并同步签名:独家支持EV证书 签署多个文件只需输入一次密码功能,更快捷: 工具更新应用程序内置多种内核交叉证书.使用对应品牌的证书进行交叉签名时,程序会自动识别相应交叉证书链,

Windows 硬件开发人员怎样选择代码签名证书类型

Windows 开发人员中心硬件仪表板的代码签名证书 当前有两种类型的代码签名证书可用: 标准代码签名证书 1.提供标准级别的身份验证 2.需要较短的处理时间以及较低的成本 3.可用于除 LSA 和 UEFI 文件签名服务之外的所有 Windows 开发人员中心硬件仪表板服务. 4.在 Windows 10 Technical Preview 桌面版(家庭版.专业版和企业版)中,标准代码签名无法用于内核模式驱动程序.有关这些更改的详细信息,请参阅 Windows 10 中的驱动程序签名更改. 5

微软代码签名操作指南

代码签名是对软件进行标识的一个过程,它通过对软件增加了发布商的信息来检查软件在发布后是否被修改或受病毒影响.在软件出售前进行签名已经成为了行业范围的专业实践.随着用户的安全意识的提高,现在越来越多的用户限制下载未签名的软件,因此作为专业的软件公司,在软件出售前进行签名已经成为必不可少的一步. 要进行代码签名,需要以下准备:1)代码签名证书和密码:2)代码签名工具:3)时间戳服务器的URL地址: 代码签名工具代码签名工具, 微软提供了两套代码签名工具, 1)signcode.exe, 从1998年