加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-server-2008 – 已签名且带有时间戳的可执行文件执行失

发布时间:2020-12-14 02:21:32 所属栏目:Windows 来源:网络整理
导读:请注意,此问题仅适用于 Windows Server 2008 SP2 我开发了一个Windows应用程序.在分发之前,我已使用SHA1和SHA256对其进行了签名和时间戳.此应用程序由多个DLL组成.我在构建过程中签署每个DLL.我使用过VeriSign的证书.在执行时,启动应用程序时,它会验证每个DL
请注意,此问题仅适用于 Windows Server 2008 SP2

我开发了一个Windows应用程序.在分发之前,我已使用SHA1和SHA256对其进行了签名和时间戳.此应用程序由多个DLL组成.我在构建过程中签署每个DLL.我使用过VeriSign的证书.在执行时,启动应用程序时,它会验证每个DLL的签名和时间戳,以确保使用WinVerifyTrust API完整性.验证期间我收到“E_CERT_EXPIRED – 签名者证书已过期”错误.

此外,我无法在可执行文件的属性页中看到时间戳细节.请看下面 –

enter image description here

现在,该证书已过期,但根据此SO文章What happens when a code signing certificate expires?.可执行文件应该完美运行,没有任何问题.

我还检查了this KB怀疑原因,但已经应用了与此KB相关的修复.任何人都可以分享更多的亮点吗?

解决方法

你不能用过期的证书签名,它不起作用(你自己看到结果). 您可以做的是使用有效证书进行签名,然后签名的应用程序将因签名时的有效时间戳而不会过期.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读