我在signtool.exe中寻找方便的signwizard,但在Windows SDK 7.0中找不到它.
它现在是一个单独的工具还是仅剩下CLI?
我有以下 Inno Setup 签名配置:
[Setup]
SignTool=signtool $f
SignedUninstaller=yes
Run Code Online (Sandbox Code Playgroud)
在 Inno Setup Compiler IDE 的“工具 > 配置签名工具...”中,我有:
"C:\DEVELOPMENT\Setup\signtool.exe" sign /f C:\DEVELOPMENT\Signing_Certificate.pfx /p "my_password" $f
Run Code Online (Sandbox Code Playgroud)
...当我编译 Inno Setup 时,这在我的本地计算机上效果很好。
但是,我们需要使用 TeamCity 自动构建安装程序。所以这一切都必须是自动的。并且签名工具配置需要包含在脚本中,无需预先配置任何内容。
无论如何,是否可以在实际的 Inno Setup 脚本中将我的路径声明为变量,以便在上面的签名向导行中选取它们?
我如何签署Visual C#可执行文件?
SignTool.exe找不到证书.
如何创建自签名密钥和证书,并让signtool能够查看证书并使用它?
安装了OpenSSL和Visual Studio 2010 Express.运行Windows 7旗舰版x64.
使用Windows Driver Kit中的SignTool.exe.
如果 DLL 已经签名而无需重新编译,我是否可以使用新证书(使用 Microsoft 的 SignTool)安全地签名 DLL 文件?
在我这样做之后,一切看起来都很洁净,但我想 100% 确定。
当用户尝试下载我的安装程序时,下载完成后,Windows 10上的IE11会显示错误"foo.exe的签名已损坏或无效"
Signtool报告签名有效.微软确认IE9和IE10中的一个错误可能导致此问题(https://connect.microsoft.com/IE/feedback/details/800433/kb2870699-breaks-ie-msi-signature-validation)但是我看到了这个在IE11中,这可能是一个不同的问题.
关于什么可能出错的任何其他想法?
我正在尝试使用SignTool.exe在项目构建期间签署我的程序集和设置文件.根据这个答案,我想使用该/sha1选项,这样我就不需要指定证书密码了.但是,当我这样做时,我收到"无效的SHA1哈希格式"错误.我已尝试从MSBuild Exec任务,Visual Studio开发人员命令提示符和批处理文件都具有相同的错误.
我正在尝试的命令(显然使用不同的键):
signtool.exe sign /a /sha1 ?1234567890abcdef1234567890abcdef12345678 /tr http://timestamp.comodoca.com /td SHA256 /v Setup.msi
Run Code Online (Sandbox Code Playgroud)
我认为我的证书安装正确且SHA1密钥正确,因为它正确地与SignFile MSBuild任务一起使用.我只是使用它,但我还需要能够签署我的安装程序文件,这些文件不是用MSBuild构建的,因此需要从批处理脚本中签名.
那可能是什么问题,我该如何解决?
我创建了一个构建后事件,以便在使用以下构建后脚本成功构建后对应用程序进行代码签名。
copy $(TargetPath) $(TargetDir)SignedApp.exe
signtool sign /t http://timestamp.verisign.com/scripts/timestamp.dll /a $(TargetDir)SignedApp.exe
Run Code Online (Sandbox Code Playgroud)
我收到错误 “signtool”未被识别为内部或外部命令。 因此,用于构建事件的路径似乎并未指向 signtool 实用程序。当我运行VS2013 x86 Native Tools Command Prompt 时,我可以运行 signtool,因为它包含一个指向:
C:\Program Files (x86)\Windows Kits\8.1\bin\x86
Run Code Online (Sandbox Code Playgroud)
我可以将此路径硬编码到我的构建事件中
"C:\Program Files (x86)\Windows Kits\8.1\bin\x86\signtool" sign /t http://timestamp.verisign.com/scripts/timestamp.dll /a $(TargetDir)SignedApp.exe
Run Code Online (Sandbox Code Playgroud)
然而,这似乎是不可移植的。如何在没有硬编码的情况下获得为本地命令提示符定义的相同路径以供我的后期构建事件使用?我查看了宏列表,但没有找到任何有用的。
我正在使用signtool 来签署我的c# 程序集。一切正常,直到 Windows 10 1803 更新。现在,只要重新启动计算机,甚至在挂起计算机后,我都会收到错误:未找到满足所有给定条件的证书。
如果我再次导入证书,一切正常,直到下次重新启动......
我尝试将证书导入到 Windows 证书存储的不同文件夹中,我为当前用户或计算机导入了它,我在重新导入之前在所有文件夹中删除了它...但问题始终相同。
任何提示都会很棒!
我有那个文件.(在"...\Program Files\Microsoft SDKs ..."中).然后我去安装程序(在控制面板中)并"重新安装"它.
那么为什么命令提示符不能识别呢?
已经整整2天,我正在尝试使用SignTool和kSign签署我的exe.我从COMODO为我的域名购买了SSL证书(用于apache上的https).现在我正在尝试使用相同的证书和使用的相同私钥来签署我的exe.我正在使用命令:
openssl pkcs12 -inkey example.com.key -in example.com.crt -export -out example.com.pfx
Run Code Online (Sandbox Code Playgroud)
并试图签署它
signtool /f example.com.pfx /p mypassword myexe.exe
Run Code Online (Sandbox Code Playgroud)
我总是得到:"SignTool错误:没有找到符合所有给定标准的证书."
无论我发现从Internet生成PFX文件的方式如何,总是会出现相同的错误消息.我甚至尝试用kSign签名,我得到同样的东西.我错过了什么?我可以使用我为我的网络服务器购买的SSL证书来签署我的exe文件吗?
谢谢.
signtool ×10
code-signing ×4
signing ×2
authenticode ×1
batch-file ×1
cmd ×1
codesign ×1
dll ×1
inno-setup ×1
msbuild ×1
path ×1
sdk ×1
ssl ×1
winapi ×1