x86:C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\signtool.exex64:C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe二、确定哈希算法使用 SignTool 对应用程序进行签名时,SignTool 中所用的哈希算法必须与你用于打包应用的算法相同。现在创建应用包,一般使用 SHA256,则在使用 SignTool 时必须指定 SHA256。SignTool 的默认算法是 SHA1,所以在使用 SignTool 时必须始终指定哈希算法。三、使用 SignTool 对文件进行签名语法:SignTool sign /fd <Hash Algorithm> /a /f <Path to Certificate>.pfx /p <Your Password> <File path>.appxSignTool sign /fd <Hash Algorithm> /a /f <Path to Certificate>.pfx /p <Your Password> <File path>.msixSignTool sign /fd <Hash Algorithm> /a /f <Path to Certificate>.pfx /p <Your Password> <File path>.exe
举例:使用 PFX(个人信息Exchange)证书对文件进行签名:SignTool sign /f MyCert.pfx MyApp.exe
使用加密的 PFX 证书对文件进行签名:SignTool sign /f MyCert.pfx /p MyPassword MyApp.exe
对文件进行签名和时间戳:SignTool sign /f MyCert.pfx /t http://timestamp.digicert.com MyApp.exe
实例:.\signtool.exe sign /fd sha256 /a /f my.pfx /p "my.pfx.password" /t http://timestamp.digicert.com no_sign_win64.exe
结果:验证:右键单击 no_sign_win64.exe 文件,查看属性,可以看到多出了“数字签名”页签,说明签名成功了。四、其他附:Microsoft 加密工具文件名备注Cert2SPC.exe仅出于测试目的,创建软件Publisher证书 (SPC) 。CertMgr.exe管理证书、CCL 和 证书吊销列表 , (CCL) 。MakeCat.exe创建一个未签名的目录文件,其中包含一组文件的哈希以及每个文件的关联属性。MakeCert.exe仅创建 X.509 证书以进行测试。Pvk2pfx.exe将软件发布者证书文件 (.spc) 或私钥文件 (.pvk) 转换为个人信息Exchange (PFX) 文件格式。SetReg.exe设置用于控制证书验证的注册表项。SignTool.exe对文件进行签名和时间戳。 此外,检查文件的签名。 (图片来源网络,侵删)
之前打包Windows安装程序,都是鹅厂干的,代码签名已经做好了。现在鹅厂只负责打包,不进行代码签名。所以,代码签名的工作,就得小弟们干了,这里记录下签名过程,备忘。如果程序没有代码签名,Windows10系统上安装的时候,会有如下弹窗,非常影响用户体验。所以,很有必要进行代码签名。一、准备工作应用包:no_sign_win64.exe有效的签名证书:my.pfxSignTool.exeSignTool 是一种命令行工具,可对文件进行数字签名、验证文件中的签名和时间戳、删除签名等。根据 SDK 的安装路径,以下是 SignTool 在 Windows 10 电脑上的位置:
0 评论