【问题标题】:How to sign a console application in visual studio如何在 Visual Studio 中签署控制台应用程序
【发布时间】:2019-07-24 05:56:50
【问题描述】:

我正在尝试运行一些代码以添加到我的项目中,但它不会按预期工作。代码在这个页面上:

https://docs.microsoft.com/en-gb/previous-versions/windows/desktop/ics/c-registering-with-windows-firewall-ownership

它要求我使用“/integritycheck”链接器标志运行它。这样做会阻止生成的 exe 运行。

到目前为止,我已尝试使用自签名代码签名证书对 exe 进行签名,该证书已添加到受信任证书的存储中。即使在签名并验证签名之后,exe仍然无法运行。 检查 exe 属性页面上的“数字签名”选项卡显示一切都很好。

This 就是这个样子。

当我尝试运行 exe 时,会出现一个对话框,上面写着“Windows 无法验证此文件的数字签名”。如上所述,据我所知,我已正确签名,因此不应显示对话框,让程序运行。

【问题讨论】:

  • 哦,哎呀。但这个问题仍然没有答案
  • 你是如何签署可执行文件的?您如何生成自签名证书?你把它标记为叶子证书了吗?
  • 我得到了它的工作,在下面查看我的答案

标签: c++ visual-studio winapi


【解决方案1】:

Jabberwocky 链接的问题将我带到了该页面:

https://www.meziantou.net/generate-a-self-signed-certificate-for-code-signing.htm

更多的个人研究使我找到了一些文章,告诉我使用signtool 中的/ph 选项进行签名,并在测试模式下运行Windows。虽然我认为测试模式并不理想,但它至少允许我测试代码。

结合使用这些可以让我实际运行可执行文件。

在这里发布,以防其他人遇到此类问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    相关资源
    最近更新 更多