问题标签 [signtool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
861 浏览

vb.net - SignTool.exe 缺少 Visual Basic 2008

当我尝试发布项目时,错误显示:

我在计算机上搜索 SignTool.exe,该文件不存在。我安装了 Windows SDK,但没有用,文件仍然不存在。然后我安装了 .Net 框架 Silverlight,然后重新安装了整个 Microsoft Visual Basic。该文件仍然不存在。

我在哪里可以下载 SignTool.exe?

0 投票
0 回答
272 浏览

visual-studio - NAnt 中的 msbuild 任务不会在 Postbuild 中编译 WiX 项目

这个 WiX 安装项目在 Visual Studio 中编译没有问题。

但是,使用 msbuild 任务在 NAnt 中运行它会显示以下错误。

msbuild 任务:

失败的构建后事件:

错误消息标志输出:

0 投票
1 回答
1208 浏览

c# - 更改UAC上exe的程序名称

我有一个 exe,当尝试以管理员身份运行时,程序名称显示为 TestSampleConsoleSign.exe。它是一个简单的控制台应用程序,其中包含 hello world。

我还将 AssemblyInfo.cs 中的 AssemblyTitle 字段更改为 HelloWorld。但启用 UAC 后,程序名称仍显示为 TestSampleConsoleSign.exe 而不是 HelloWorld。我还尝试通过使用以下命令创建数字证书来签署工具:http: //msdn.microsoft.com/en-us/library/ff699202.aspx并使用以下命令签署我的 exe

我在如何将属性更改为 UAC?我错过了什么?这是强制性的 - 如何将属性更改为 UAC?

0 投票
1 回答
12303 浏览

clickonce - SignTool 未使用 SHA256 对 ClickOnce 应用程序进行签名,仅使用 SHA1

我正在尝试签署我的 clickonce 应用程序。我有一个使用 SHA256 的 EV 代码签名证书。问题是当我使用构建后命令签署我的应用程序时,它似乎使用的是 SHA1 而不是 SHA256。这是输出窗口的剪辑:

这是我正在使用的后期构建命令:

当我查看文件的属性时,我可以看到 MyProgram.exe.deploy 附加了数字签名。

运行 signtool /verify 时没有返回错误

当我尝试启动应用程序时,我收到错误“应用程序验证未成功。无法继续”。

在错误消息的详细信息中,有这一行:

当我打开并查看清单时,MyProgram.exe 的哈希被指定为 SHA256

可能是什么问题呢?是什么让 signtool 拒绝使用 SHA256?根据我的阅读,默认情况下它应该使用 SHA256。

我已经卸载/重新安装了 Visual Studio、Windows sdk,所有安装的 .net 库都无济于事。

我真的希望有人有一些想法......

0 投票
3 回答
15894 浏览

ssl - SignTool 错误:未找到满足所有给定条件的证书

我尝试使用 SignTool 和 kSign 签署我的 exe 已经整整两天了。我从 COMODO 为我的域购买了 SSL 证书(用于 apache 上的 https)。现在我正在尝试使用相同的证书和使用的相同私钥签署我的 exe。我正在使用以下命令:

并试图签名

我总是得到:“SignTool 错误:没有找到符合所有给定条件的证书。”

无论我发现从 Internet 生成 PFX 文件的任何方法,它总是相同的错误消息。我什至尝试用 kSign 签名,我得到了同样的结果。我错过了什么?我可以使用为我的网络服务器购买的 SSL 证书来签署我的 exe 文件吗?

谢谢。

0 投票
3 回答
4242 浏览

security - 自动代码签名 - 保护私钥

我想自动化一些 ClickOnce 部署工件的代码签名 - 应用程序 exe 和清单。我正在使用signtool来完成此操作。为了使私钥可用于签名并保护包含私钥的证书文件(.pfx 文件),我的计划是使用不可导出的密钥将证书安装到本地计算机证书存储中。(我知道有一些方法可以导出密钥,即使它被标记为不可导出。)这台机器是一个持续集成服务器,只有少数人可以访问。我希望以这样一种方式设置它,即任何时候需要使用私钥时,都需要输入私钥密码。然后我会设置一个自动化工作(使用Jenkins) 这将需要一个构建参数来收集私钥密码。Mask Passwords 插件将用于在输入和控制台输出时屏蔽密码。

但是,我遇到了几个障碍。首先,即使有“启用强私钥保护。如果启用此选项,每次应用程序使用私钥时都会提示您”。导入证书时,它似乎仅在将其导入当前用户存储时可用,而不是本地机器存储。其次,即使此选项可用,signtool 工具也不提供在使用商店中的证书进行签名时设置密码的选项。密码参数“/p”仅在使用 pfx 文件作为私钥源(“/f”选项)时适用。鉴于此,这似乎不是一个可行的选择。注意:即使“启用强私钥保护”。可用于机器商店中的证书,我的测试表明,在启用此选项的情况下尝试使用证书只会弹出一个对话框,询问是否允许使用它,这显然不适用于自动化作业。我最初认为“提示”意味着它会要求输入密码。

我考虑过的另一种选择是创建 ACL 以保护证书存储中的私钥。这可以通过右键单击证书并选择所有任务来完成... | 管理私钥...对话框。这会将私钥的使用限制为仅授权的人。(注意:当没有私钥权限的用户尝试使用它进行签名时,他们会收到消息“SignTool 错误:未找到符合所有给定条件的证书。”)但是,我不想授予访问权限到 Jenkins 构建服务使用的凭据,因为这样任何构建作业都可以签署代码。我可以创建一个作业,该作业将执行脚本以以特定用户身份运行签名命令。这需要将域用户名和密码作为构建参数。我可以使用 Jenkins Mask Passwords 插件来做到这一点。不过,我真的不喜欢这样,因为我对 Mask Passwords 足以防止暴露域凭据感到不舒服,如果域凭据受到破坏,将获得的访问权限不仅仅是私钥。

如果我放弃将证书存储在机器存储中的最初想法,则可以选择将证书 pfx 文件放在构建机器上的 ACL 安全文件夹中,只有构建过程和签名用户有权访问该文件夹。这样做将允许我创建一个构建作业以使用包含的私钥,同时不会将文件暴露给有权访问该机器的其他人。要使用私钥,构建参数需要收集私钥密码。

最后,可以选择使用智能卡来存储证书,但我们决定不这样做。

所以,我的问题是,有没有其他方法可以做到这一点:1)保护私钥不被复制,2)防止未经授权的用户使用私钥来签署代码,3)假设私钥密码是由授权用户提供,使构建服务签名的私钥?

0 投票
1 回答
3381 浏览

wix - 如何使用带有离线时间戳的 signtool.exe 对安装程序进行签名?

我正在尝试使用 signtool 签署我的安装程序。它使用 signtool 完美签名,并且从指定的时间戳服务器 URL 获取时间戳。如何使用带有离线时间戳 Dll 的时间戳。如何下载 timestamp.dll。我没有找到任何下载链接。请提供 timestamp.dll 的下载链接。

我正在使用的命令(用于在线时间戳)是:

“C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\Signtool.exe 签名 /f mycert.pfx /p mypwd /v /t http://timestamp.verisign.com/scripts/timstamp.dll$(TargetDir)Setup.exe”

0 投票
20 回答
388073 浏览

windows-8 - Signtool 错误:没有找到符合 Windows 应用商店应用程序所有给定条件的证书?

我正在尝试使用我拥有的 pfx 文件对 Windows 8 appx 包进行签名。我正在使用这样的命令:

由此,我得到:

SignTool 错误:未找到满足所有给定条件的证书。

我没有达到什么“标准”?这仅用于测试,因此这些是自签名证书。我尝试导入密钥然后对其进行签名,但它总是会导致相同的错误。我该如何解决?

0 投票
0 回答
1081 浏览

c# - SignTool 意外内部错误 0x80072eff

在我们的构建脚本中,我们必须使用 signtool 签署大约 500 个程序集(*.dll、.Net,如果它很有趣?)。它经常在这个错误中运行:

我们尝试通过程序集和所有带有占位符 *.dll 的程序集对程序集进行签名。同样的问题。在签署 100 到 200 个程序集后,大约每五次构建过程就会出现错误。我在哪里可以找到有关此内部错误的详细信息?

感谢您提供任何有用的信息马蒂亚斯

0 投票
1 回答
570 浏览

exe - 我们如何在 centos 中使用 .pfx 证书签署 .exe 文件

我有一个要上传到 Internet 的 exe 文件。这是由具有适当访问权限的最终客户下载的。在此之前,我想在 Linux (CentOS) 上使用 pfx 证书对其进行签名。我是新手,但以前我已经在 mac 中对我的包进行了代码签名。但我是 Linux 新手。谁能告诉我使用signtool签名的程序。