请注意,此问题仅适用于 Windows Server 2008 SP2
我开发了一个 Windows 应用程序。在分发它之前,我已经使用 SHA1 和 SHA256 对其进行了签名和时间戳记。此应用程序由多个 DLL 组成。我在构建过程中对每个 DLL 进行签名。我使用了 VeriSign 的证书。在执行时,当应用程序启动时,它会使用WinVerifyTrust API验证每个 DLL 的签名和时间戳以确保完整性。我在验证期间收到“E_CERT_EXPIRED - 签名者证书已过期”错误。
此外,我无法在可执行文件的属性页面中看到时间戳详细信息。请看下文——
现在,该证书已过期,但根据此 SO 文章代码签名证书过期时会发生什么?. 可执行文件应该可以完美运行,没有任何问题。
我还检查了此 KB怀疑原因,但已应用与此 KB 相关的修复。有人可以分享更多关于这一点的信息吗?