如何验证 Visual C++ Redistributable 安装的数字签名

如何验证 Visual C++ Redistributable 安装的数字签名

我最近安装了一个经过数字签名的程序,安装程序在安装到一半时启动了一个内部打包的 Microsoft Visual C++ 可再发行安装程序。

在运行该程序并授予其管理员权限之前,我扫描了该程序并检查了它的数字签名(我的计算机上的标准程序 - 扫描所有程序和安装程序,管理员权限需要来自信誉良好来源的有效数字签名)。

主要问题:数字签名是针对安装程序的,没有针对任何内部软件包的特定验证。我在控制面板 -> 程序和功能中检查了可再发行软件包,右键单击选项为卸载和更改。

单击“更改”将打开一个带有修复/卸载/关闭按钮的窗口。

有没有什么方便的方法来验证 Visual C++ 可再发行安装的数字签名?(特别是验证可再发行软件包是否真实且未被篡改?)

安装程序仅具有其发布者的数字签名。

答案1

我能想到的有两种方法:

  1. 您的安装程序必须在安装前将 Visual C++ Redistributable 包提取到某个位置。通常它放在 下的某个位置%temp%。您可以在安装前清理该文件夹,或者在 Sandboxie 上运行安装程序,然后浏览沙盒文件以找到它并检查其数字签名。

  2. 安装 HIPS(主机入侵防御)软件,正确设置,然后系统将提示您单独安装每个软件包。

如果您想检查系统中已安装的 VC++ Redistributable DLL,请浏览%windir%\System32并检查msvcpX.dll文件(其中 X 是版本号(例如,VC++ 版本 14.0.23918 的 msvcp140.dll)。

在授予完全权利之前检查数字签名的良好做法值得称赞。

相关内容