每当文件以数字方式被创建时,无论它们是媒体文件、可执行文件,电子文档还是其他任何文件形式,都会由该数据源对其进行数字签名。例如, 当 Google Chrome 浏览器发布的是一个可执行安装文件时, 谷歌就会将其打上数字签名。因此, 只要文件直接从官方来源下载,就可以验证此文件的真实性。
简单来说,就是知名的 ISV 在发布软件时,一般都会打上自己专属的数字签名。用户可以通过查看数字签名的方式来确定软件开发商、发布时间等信息。一但应用被篡改,软件数字签名信息就会被破坏,这样就可以在一定程度上保证用户获取到应用程序的安全。
下面我们就介绍在 Windows 10/8/7 中检查或验证软件数字签名的几种方法。
手动查看软件数字签名
在 Windows 中检查应用程序数字签名最简单的方法就是直接查看,这种方法属于 Windows 自带功能,无需其它第三方工具:
1 打开「资源管理器」——找到需要验证软件的 .exe 可执行文件——右击选择「属性」
2 在弹出的「XXX 属性」对话框中点击「数字签名」选项卡
在「签名列表」中看到的条目表示您的文件是经过数字签名的,在此也可以查看到签名者是谁、采用了何种加密摘要算法和时间戳。
3 可以双击任何这些条目来查看有关签名机构的更多详细信息。因此,您可以知道该文件是否由软件的原始 ISV 签署。
4 此外在「数字签名详细信息」视图中,可以点击「查看证书」按钮查看有关签名附带证书的更多详细信息。
使用DigiCert Certificate Utility验证软件数字签名
DigiCert Certificate Utility 是由国际知名证书服务供商 DigiCert 发布的一款专业、多功能证书工具,对软件数字签名进行检查和验证也是其功能之一。由于是绿色软件,只需下载之后打开并接受使用条款就可以使用。
1点击左侧栏中「Code Signing」代码签名按钮——点击右上角最左边的「Check Signature」检查签名按钮。
2 在弹出窗口中选择要验证的 .exe 可执行文件
此时 DigiCert 证书工具会自主检查签名并在打开的新窗口中显示整个信息摘要。DigiCert 小工具会自动验证如下 2 方面的信息:
- 如果文件已签名,则验证签名是否有效。
- 检查签名的时间戳。
其它方法
- 微软随 Windows SDK 发布了一个名为 SignTool 的小工具,它可用于对文件进行数字签名,以及验证文件和时间戳文件中的签名。
- Sysinternals 工具箱中的 SigCheck 命令行工具也是可以帮助我们分析文件是否拥有数字签名的一个小工具,它还可以对比 VirusTotal 进行检查,以方便我们找出恶意软件。