问题标签 [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 投票
1 回答
3413 浏览

code-signing - 无法使用代码签名证书对代码进行签名

我们从 Thawte 购买了Microsoft Authenticode证书。现在我把它放在一个 PFX 文件中。我尝试以下方法:

但是当我运行时mySetup.exe,它会像未签名一样运行,并显示“Unknown Publishier”。当我使用 SignTool 验证 EXE 文件时,我得到以下信息。

怎么了?

0 投票
6 回答
66740 浏览

google-chrome - 绕过 Chrome 的恶意文件警告

我创建了一个包含许多*.exe文件的应用程序。我已将这些打包到我在我的网站上托管的 NSIS 安装程序中。当我尝试下载它时,Chrome 报告它可能是恶意的。起初我认为这可能是我托管的 URL/站点未被识别,所以我注册了 Amazon S3 存储并将文件移到那里。同样的问题。然后我认为打包可执行文件可能会导致这种情况,所以我尝试不这样做。
同样的问题。
在阅读了更多内容后,我决定尝试对可执行文件以及安装程序包 EXE 进行签名。

我创建了一个开发证书,如下所示:

仍然是恶意的......即使在下载后我也会检查 exe 并确认它们有一个数字签名选项卡,尽管它不是一个经过完全验证的商业证书,但我无法相信绕过 Chrome 半生不熟的代码分析的唯一方法是花费 200 美元一年有一个威瑞信等代码签名证书颁发?

有什么想法可以改变我正在做的事情以避免这个讨厌的信息吗?

0 投票
2 回答
8637 浏览

open-source - 开源项目的个人代码签名

我正在为我的开源项目获得代码签名证书。我有几个关于他们的问题:

  1. 作为一家开发开源项目的未注册公司,有没有办法通过验证过程?
  2. 如果我将代码签名证书注册在我的个人名下,是否有任何风险(例如,身份被盗和跟踪)?
0 投票
3 回答
4033 浏览

windows - 我可以更改签名的可执行文件

我试图下载一个签名的可执行文件(http://live.sysinternals.com/procexp.exe)并修改它。我认为它无法完成,Windows 会以某种方式阻止我运行它(或至少警告我)。但是当我更改单个字符(例如在 DOS 存根或任何其他文本数据中)时,它仍然可以运行。

在修改之前,当我运行这个应用程序时,它会发出 UAC 警告,显示它已签署 Microsoft 并询问我是否要运行它。修改后就没有了。即使我恢复更改,它仍然不会出现。我已经将修改和恢复的可执行文件与原始文件(总指挥官)进行了比较,它没有显示任何区别。但原著还是泼了UAC。

这是为什么?

我正在使用 Windows 7 和 Firefox。

0 投票
1 回答
657 浏览

windows - 自解压自检可执行文件

我正在分发一个经过验证码签名的自解压可执行文件,其内容由我控制。

它包含大量基于 MSI 的安装程序,可控制分布式系统的热插拔,因此它本身不能轻易成为 MSI。

如果可执行文件只是检查自己的身份验证代码并且如果未签名则拒绝自解压,那就太好了。我确实意识到这并不能提供真正的完整性保证,但它会强化这样的信息,即内容绝不是可定制的,并且可能会使一些正式的认证更容易处理。

一种可能的策略可能是基于这个仍未得到解答的问题。还有其他想法吗?

0 投票
2 回答
8131 浏览

c# - 如何从已签名的 .Net 程序集中读取数字签名信息?

我正在编写要在我们的软件构建过程中使用的程序集信息应用程序,并尝试从已签名的 .Net 程序集中读取数字签名信息。

我想在我的 C# 代码中执行 Windows Explorer 可以通过右键单击已签名程序集并选择“数字签名”选项卡然后单击详细信息按钮来执行的操作。例如

Windows 7 资源管理器可以通过右键单击文件属性来完成

数字签名详细信息

有没有人知道如何在 C# 中以编程方式执行此操作?我目前正在使用Mono Cecil 库从程序集中获取其余信息。您的帮助将不胜感激。

0 投票
1 回答
486 浏览

azure - 获取 Azure 应用程序的验证码

我正在尝试为我们的在线申请获取验证码证书。我已经支付了证书的费用(通过 Comodo 的经销商 KSoftware)。他们坚持要求网站地址的 WHOIS 信息与公司名称/地址等相匹配。

这是问题所在,该应用程序托管在 Azure 中。当我查询我们网站地址的 WHOIS 记录时,它会返回 Microsoft 详细信息!

也许有人已经完成了对 Azure 应用程序进行签名的过程,或者知道我可以查看的任何好的参考资料。

0 投票
0 回答
2565 浏览

authenticode - 代码签名 --> 发布者:未知 - 有正确的链

解决了!

希望大家能帮忙!

首先关。我浏览了我在 SO 以及 MSDN 等上可以找到的所有文章。

我正在尝试签署一个 installshield exe。

我有一个 Godaddy 代码签名证书,并且完全没有问题签署证书。我确实有一个问题,无论我做什么,我都会在其他所有计算机上得到 Publisher Unknown。

请参阅下面的输出。

底线:我在签署证书时没有遇到任何问题,但在 UAC 提示期间无法删除未知发布者错误(测试计算机可以访问互联网)

另外:如果我在验证时省略 /kp 选项,我会得到:SignTool 错误:已处理证书链,但在信任提供者不信任的根证书中终止。

最终更新:如果我运行 verify /pa /v temp\setup.exe,我会在验证中获得成功,但在未知发布时仍然会出错。/kp 选项在此标志上使用不正确。

步骤: %SIGNTOOL% 签名 /v /ac %BUILDROOT%%CERTPATH%%MSCERT% /f %BUILDROOT%%CERTPATH%%CERT% /p %CERTPW% /n "%COMPANY%" /t %TIMESTAMP% %BUILDROOT% %TEMPPATH%\setup.exe

输出:选择了以下证书:颁发给:%COMPANY NAME% 颁发者:Go Daddy Secure Certificate Authority - G2 过期:2013 年 6 月 22 日星期六 14:07:27 SHA1 哈希:612A38DDED199101442B09D884ED718BBE00D252

交叉证书链(使用机器存储):颁发给:Microsoft 代码验证根颁发者:Microsoft 代码验证根过期:2025 年 11 月 1 日星期六 09:54:03 SHA1 哈希:8FBE4D070EF8AB1BCCAF2A9D5CCAE7282A2C66B3

完成添加其他存储已成功签名并加盖时间戳:c:\build\temp\setup.exe

成功签名的文件数:1 警告数:0 错误数:0

核实:

验证:c:\build\temp\setup.exe 文件哈希 (sha1):62F814EFC81400AD938AB9D9D49B36F7175A098A

签名证书链:颁发给:Go Daddy 根证书颁发机构 - G2 颁发者:Go Daddy 根证书颁发机构 - G2 过期:2037 年 12 月 31 日星期四 19:59:59 SHA1 哈希:47BEABC922EAE80E78783462A79F45C254FDE68B

签名的时间戳:Sun Jun 24 09:57:57 2012 Timestamp Verified by: Issued to: Thawte Timestamping CA Issued by: Thawte Timestamping CA Expires: Thu Dec 31 19:59:59 2020 SHA1 hash: BE36A4562FB2EE05DBB3D32323ADF445084ED656

交叉证书链:颁发给:Microsoft 代码验证根颁发者:Microsoft 代码验证根过期:2025 年 11 月 1 日星期六 09:54:03 SHA1 哈希:8FBE4D070EF8AB1BCCAF2A9D5CCAE7282A2C66B3

成功验证:c:\build\temp\setup.exe

成功验证的文件数:1 警告数:0 错误数:0

解决了!

问题是 exe 安装程序中的 MSI。setup.exe 文件已签名,但是当提取并运行内部的 msi 时,该文件未签名。两个都签了,错误就消失了!!!

0 投票
0 回答
2107 浏览

c - 如何从使用 ASN1 编码的数字签名 PE 文件的 Authenticode 中提取签名者信息?

我需要SignerInfoAuthenticodeASN1 结构中的数字签名 PE 文件中提取。

INFO: 一个 PE 文件在Security Directory RVAinside指定的偏移处包含验证码Optional Header Data Directories在阅读了Microsoft Authenticode PE Signature Format提供的文档后,我尝试开始,但运气不好,因为我对 SSL/TSL 很陌生。

我的问题:

  1. 有没有办法解析二进制文件并以 C 字符串格式打印数据结构?

  2. 有什么方法可以解析给定的二进制文件并指向SignerInfoor SignerName

NOTE:我不想使用任何平台相关的 API,因为我希望代码独立于平台。

在此先感谢所有大师:-)

UPDATE:我在 C# 中找到了一个代码。有人能帮我找到相同的C等价物吗?

0 投票
2 回答
627 浏览

windows - 指定 pwszTimestampURL 时 CryptUIWizDigitalSign 失败

我在调用CryptUIWizDigitalSign以使用我们的公共代码签名证书以编程方式签署可执行文件时遇到问题,但不显示任何 UI。该证书是 Comodo 代码签名证书。

当时间戳 URL 参数设置为 null 时,它可以正常工作,但是每当我传入除 null 以外的任何内容时,调用都会失败(返回零)。

问题在于,没有时间戳,就没有副署,因此进一步存在签名有效性问题。

环境是 Windows 7 x64。有一个工作标准的互联网连接。从嗅探网络流量来看,似乎没有尝试CryptUIWizDigitalSign联系时间戳服务器。

我通过 PInvoke 从 .NET 调用它,但我怀疑这会产生什么不同。

网上关于这个功能的不多...

CRYPTUI_WIZ_DIGITAL_SIGN_INFO 类型定义为: