系统小技巧:三种方法 获知文件数字签名与否

CFan 电脑爱好者 2019-09-04 10:01应用 标签:数字签名 技巧 文件 方法 系统

数字签名是对以数字方式创建的文件进行真实性验证的信息记录,是以特定的算法将私钥加密过的密文和公钥公布出去,使用时以公钥解密并验证文件的真实性的方法。严格来说,所有文件都可以创建数字签名,不仅仅是程序文件,TXT或任何文档都可以,但我们最常见的是程序或邮件的数字签名。那么,如何查验文件是否经过数字签名呢?下面介绍三种方法。

小提示:本文仅讲述验证文件是否经过数字签名的方法,对于如何添加数字签名和数字签名算法等更多的内容,不在本文讲述的范畴。

首先可以通过文件资源管理器验证文件是否进行数字签名。选择一个要验证的文件,例如Photoshop的程序文件,右键单击并从快捷菜单中选择“属性”,打开程序文件属性窗口,如果看到有“数字签名”选项卡,说明该程序进行过数字签名(图1)。

1817A-SZQM-1

如果程序没有经过数字签名,右击程序文件并显示其属性窗口,将不会出现“数字签名”选项卡。但这并不意味着没签名软件就不能安装或运行,你会发现一个未经数字签名的EXE绿色程序,依然可以正常运行。对未签名的驱动安装作,微软会有保护性提示,但选择主动权在于用户,可通过在高级启动设置中选择“禁用驱动程序强制签名”来解决。

对于含有数字签名的程序,单击其“数字签名”选项卡下的“详细信息”按钮,即可看到程序签名者的具体信息,包括签名者名称、电子邮件和签名时间等(图2)。点击“查看证书”按钮能查看签名证书的具体情况,包括该证书的签发目的、颁发者和颁发给的对象、证书的有效期、证书的详细信息、证书的路径等内容。通过“数字签名详细信息”窗口中的“高级”选项卡,能看到序列号、算法等信息。在查看证书窗口中点击“安装证书”按钮,会弹出“证书导入向导”,据此我们可以将证书及其信任列表从磁盘复制到证书存储区。证书存储区是保存证书的系统区域。证书是确认身份、保护数据和网络连接安全的保障。

1817A-SZQM-2

除了使用文件属性窗口进行数字签名与否的验证外,用第三方软件DigiCert Certificate Utility,也能进行数字签名验证。运行该软件后,点击“I Accept”按钮接受使用条款。进入主界面后点击左侧栏的Code Signing项,再点击右侧窗格上方工具栏的Check Signature按钮,随后在文件对话窗口中找到要检查证书的程序,点击“打开”按钮。在弹出的证书验证窗口中,如果两个圆形钮都显示为绿色,说明已经过数字签名且时间戳均有效(图3)。

1817A-SZQM-3

在微软Windows 10 SDK套件中有一个SignTool工具,它也可以验证程序的数字签名。由于SDK主要针对开发者,因此日常使用的Windows中不包含该组件,需要下载安装。安装之后,用以下命令验证已经签名的文件。signtool verify MyFile.exe