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

use*_*361 5 windows installer digital-signature redistributable installation

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

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

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

单击“更改”会弹出一个带有“修复”/“卸载”/“关闭”按钮的窗口。

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

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

Mar*_*377 5

我能想到的有两种方法:

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

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

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

感谢您在授予完整权限之前保持检查数字签名的良好做法。