问题标签 [authenticode]

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 回答
3928 浏览

.net - 在没有 app.config 的情况下在 .NET exe 中禁用验证码签名验证

有谁知道如何在不使用应用程序配置文件的情况下禁用 .NET 可执行文件中的验证码签名验证(以避免启动缓慢)?换句话说,这样做:

没有 app.config。可能吗?

0 投票
2 回答
12844 浏览

c++ - 验证 EXE 上的 Authenticode 签名 - 没有 CAPICOM 的 C++

我正在为安装程序 DLL 编写一个函数,以验证系统上已安装的 EXE 文件的 Authenticode 签名。

该功能需要:

A) 验证签名是否有效。
B) 验证签名者是我们的组织。

因为它在安装程序中,并且因为它需要在较旧的 Win2k 安装上运行,所以我不想依赖 CAPICOM.dll,因为它可能不在目标系统上。

WinVerifyTrust API 非常适合解决 (A)

我需要找到一种方法来将已知证书(或其中的属性)与签署相关 EXE 的证书进行比较。

0 投票
3 回答
1957 浏览

c# - CAPICOM - 验证 SignedCode 来自没有 UI 的受信任的发布者

我在 .NET 3.0 C# 应用程序中使用 CAPICOM 来检查 exe 文件上的 Authenticode 签名。我需要确保证书被列为受信任的发布者。如果证书尚未受信任,使用signedCode.Verify(true)将显示一个对话框,因此用户可以选择是否这样做。但是,signedCode.Verify(false)即使签名不是来自受信任的发布者,也会验证签名 - 大概这只是检查证书是否有效。

如何在没有 UI 的情况下检查文件上的签名是否来自有效且受信任的证书?

0 投票
2 回答
2222 浏览

cryptography - 如何验证使用自签名证书签名的二进制文件?

我们想为我们的应用程序添加自动软件更新,但我们公司还没有准备好从受信任的根 CA 购买代码签名证书,因此我们将使用自签名证书来签署代码更新 (.exe和.dll)现在。

问题:如何使用 Microsoft 的 Cryptography API 验证使用自签名证书签名的二进制文件,而无需安装证书?要检查的 .cer 文件将与应用程序捆绑在一起。还是使用通用 Crypto 库更简单?

0 投票
1 回答
475 浏览

authenticode - 关于唯一下载的未知发布者警告

我们有一个由 ASP.NET 应用程序提供的 exe 文件。这个二进制文件实际上是在内存中动态修改的。有没有办法在不写入磁盘的情况下使用内存中的验证码对修改后的 exe 进行签名?可能没有办法签署原始 exe 并在修改后仍然保持签名有效。如果必须,我们考虑过使用 ram 磁盘来帮助处理磁盘 i/o,但只是想知道是否还有其他选择。

问题实际上是如何摆脱未知发布者警告。因此,如果有任何其他方式不涉及签名或更改客户端计算机上的策略设置,请也告诉我。

0 投票
1 回答
1354 浏览

windows - How do I set the http proxy in a subshell launched from a windows service

I am writing a windows service which takes an uploaded file, runs signtool.exe on it to do the signing and timestamping and then serves the signed file back.

The code for this works when run as a standalone server using twisted however if I try and run it as a service it fails with the error "Signing succeeded, but an error occurred while attempting to timestamp".

If I replace the signcode subprocess call with a curl.exe call which explicitly uses the proxy then this succeeds.

I have set the proxy in internet explorer and running the command manually works. Is there another way of setting an http proxy for signtool/signcode or another way of doing this (I am keen for it to be a service for ease of integration in to some other monitoring systems)?

0 投票
2 回答
1939 浏览

windows-installer - MSI - 卸载提供“未识别的发布者”

我已经使用 Visual Studio 2008 创建了一个 MSI 安装程序。然后我使用 signtool.exe 和我的身份验证证书对其进行签名。

在 Vista x64 测试 PC 上,当 MSI 运行时,会出现预期的对话框,将我的公司标识为发布者。

但是,当从“添加/删除程序”中卸载该程序时,会显示黄色的“Unidentified Publisher”对话框。

有没有办法让卸载过程签名?谷歌没有显示任何有用的东西。

非常感谢,

克里斯

0 投票
4 回答
12736 浏览

msbuild - 通过 MSBuild 使用 Authenticode 证书对每个可执行文件进行签名

我有一个用于签署可执行文件的Authenticode证书 (.pfx)。

如何配置Team Build以便在构建项目时自动签署每个可执行文件(.exe、.dll、...)?

0 投票
1 回答
3192 浏览

signing - 签署程序集时加密失败'.dll' - '提供程序的错误版本'

我从知名供应商处购买了验证码证书。

现在我想强命名一个程序集,然后对其进行数字签名。

这是我到目前为止所做的:

  • 通过运行 sn.exe -p keypair.pfx key.snk 从 pfx 中提取公钥
  • 选中项目属性签名选项卡上的“签署程序集”和“仅延迟签署”复选框
  • 提供 key.snk 作为密钥文件进行签名
  • 通过运行 sn.exe -tP key.snk 提取公钥令牌
  • 通过运行 sn -Vr * 在我的 devbox 上禁用强名称验证,

这个想法是在团队构建中禁用延迟签名并在那里提供 keypair.pfx 文件。这样,我可以在访问受限的团队构建服务器上完全签署程序集,同时出于安全原因不在开发盒上提供私钥。

但是,当尝试在本地构建程序集时,出现以下错误:

签署程序集 '.dll' 时加密失败 - '提供程序的错误版本'

有人对此有解决方案吗?

0 投票
1 回答
1465 浏览

code-signing - 防止具有无效 Authenticode 签名的可执行文件运行

我们在单个可执行文件中发布了我们软件包的更新补丁。使用颁发给我们的证书,使用 Authenticode 数字签名对该文件进行签名。该文件被下载到我们的客户操作的 Windows XP 或 Vista 系统中,他们在其中运行它以更新我们的软件。

我们的 PCI 合规审计员已要求我们防范以下情况:

  1. 下载我们的可执行文件后,恶意人员会更改该文件。细心的人将能够检查文件的属性并确定签名不再有效。
  2. 恶意人员将更改后的可执行文件放置在不知情的用户可以运行它的地方。
  3. 一个毫无戒心的用户运行更改的文件,释放未指定的破坏。

审计员认为,如果签名无效,有一种方法(或应该是一种方法)来阻止文件运行。

你知道如何做到这一点吗?