gpt4 book ai didi

.net - 执行.NET应用程序时验证Authenticode签名

转载 作者:行者123 更新时间:2023-12-03 15:02:50 25 4
gpt4 key购买 nike

我觉得这里缺少明显的东西,但是我看不到它写在任何地方。

我使用Authenticode证书对可执行文件进行签名,但是当我开始学习有关它的更多信息时,我对原样的值(value)提出了质疑。

  • 签名的exe具有数字证书,该数字证书显示为“有效”证书。当您从Internet下载此类文件时,它会在Windows中显示警告,提示您将要从Xyz Corporation发布的可能不安全的位置运行程序。
  • 如果没有签名,下载的文件将显示一个完全不同的警告框,表明该文件不受信任。

  • 现在,让我担心的是:
  • 如果已签名的exe被更改,则进入“属性”>“数字签名”>“选择签名”>“详细信息...”,它将显示“此数字签名无效”。这是一种查看可能很严重的问题的绝妙方式,并且是一个不应该运行该文件的重要指示器。
  • 如果从Windows运行此文件(未下载),它将运行正常。没有警告或任何迹象表明
  • 有问题
  • 我没有检查如果下载文件然后尝试运行它会发生什么情况。
  • 如果您从文件中删除签名(使用delcert),也没有迹象表明任何错误。同样,您可以运行该文件,并且属性对话框中仅不显示证书。


  • 为了使此功能更有用,我认为签名文件需要进行自我验证。启动时,应检查是否存在有效的签名,并可能检查签名的sha1指纹是否与Xyz Corporation证书的预期签名匹配。

    (当然,这仍然无法解决有人剥离证书,然后编辑文件以删除证书检查的情况)

    我找不到任何人在谈论如何执行此操作(至少不是在.NET中,当然也没有像我期望的那样通过简单的API调用)-因此,这引出了两个问题:
  • 是否有未检查签名的原因?如果没有此检查,签名还有什么其他好处?
  • 是否尝试验证签名作为篡改检测手段如此徒劳而无用?
  • 如何检查.NET中当前可执行文件的证书?
  • 最佳答案

    看看这个问题。一位评论者说,有一个策略设置仅允许签名的可执行文件运行。

    Are "code-signed" windows applications less vulnerable to virus infections?

    另外,这个问题非常相似:Preventing executables with invalid Authenticode signatures from running

    关于.net - 执行.NET应用程序时验证Authenticode签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3241304/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com