[技巧] 程序数字签名 弄懂还要会用

许多正规的程序都有自身的数字签名。数字签名是对所有以数字创建的文件进行真实性验证的信息记录,是唯有信息发送者才能生成而别人无法伪造的信息。所有文件都可以创建数字签名,但我们最常用的是程序签名,许多安装文件会添加数字签名,以便让用户验证其真实性。那么,如何查看和验证文件的数字签名呢?下面介绍三种方法。

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

1817A-SZQM-1

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

单击 “数字签名” 选项卡下的 “详细信息” 按钮,即可看到该程序签名的具体信息,包括签名者名称、电子邮件和签名时间等(图 2)。

1817A-SZQM-2

点击 “查看证书” 按钮能查看签名证书的具体情况,包括该证书的签发目的、颁发者和颁发给的对象、证书的有效期、证书的详细信息、证书的路径等内容。

如果是可信软件,可以安装证书,让系统对该软件放行。点击 “安装证书” 会弹出 “证书导入向导”,按向导安装即可。通过 “数字签名详细信息” 窗口中的 “高级” 选项卡,能看到序列号、算法等信息。

此外,通过 DigiCert Certificate Utility 软件也能进行数字签名验证。运行该软件后,点击 “I Accept” 按钮接受使用条款。进入主界面后点击左侧栏的 Code Signing 项,再点击右侧窗格上方工具栏的 Check Signature 按钮,随后在文件对话窗口中找到要检查证书的程序,点击 “打开” 按钮(图 3)。

1817A-SZQM-3

在弹出的证书验证窗口中,如果两个圆形钮都显示为绿色,说明数字签名和时间戳均有效(图 4)。

1817A-SZQM-4

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

signtool verify MyFile.exe

发表评论

电子邮件地址不会被公开。 必填项已用*标注