如何知道文件的代码签名证书是否正确?

如何知道文件的代码签名证书是否正确?

在 Windows 10 中查看下载文件的“数字签名”选项卡时,应该注意哪些事项以表明一切正常?

哪些迹象表明文件或其证书可能存在问题?例如,文件是伪造的或已被篡改、证书是伪造的或被盗的。

什么会导致代码签名证书变弱或变强?

答案1

要回答主要问题,请选择签名列表数字签名tab,然后按细节。如果您看到This digital signature is OK“常规”选项卡顶部列出了(针对每个签名),则该文件可视为“值得信赖”且未被篡改,如图所示

如果文件在签名后被损坏或修改,则数字签名应从文件中完全消失。如果没有,或者文件包含不受信任、过期或无效的数字签名,则数字签名详细信息对话框将包含相应的消息,而不是This digital signature is OK

各种代码签名证书属性(或缺少这些属性)都可能导致签名薄弱。例如,以下这些被视为薄弱或不良做法:

  • 使用遗留(小)签名哈希算法(SHA)(例如,MD5、SHA1等)。
  • 使用小型 RSA公钥(例如小于 2048 位)。
  • 不包括会签来自值得信赖的时间戳服务。
  • 缺乏或不适当密钥用法旗帜或增强密钥使用OID。
  • 不包括证书吊销列表 (CRL) 分发点和/或缺乏权威信息访问在线证书状态协议 (OCSP)用于在使用时确定证书有效性的 URL。

Microsoft 提供了多种工具来检查文件数字签名的有效性。例如,SysInternals sigcheck.exeGet-AuthenticodeSignaturePowerShell cmdlet signtool.exe verify(在多个 MS SDK 或 DDK 中提供)等。如果感兴趣,请参阅如何检查文件是否有数字签名

相关内容