web-dev-qa-db-fra.com

Comment vérifier la signature numérique pour une installation redistribuable de Visual C ++

J'ai récemment installé un programme signé numériquement et le programme d'installation a lancé à mi-chemin un programme d'installation redistribuable Microsoft Visual C++ emballé en interne.

J'ai scanné le programme et vérifié sa signature numérique avant de l'exécuter et de lui attribuer les privilèges d'administrateur (procédure standard sur mes ordinateurs - numérisez tous les programmes et les programmes d'installation, les privilèges d'administrateur nécessitent une signature numérique valide de source réputée).

Problème principal: la signature numérique était pour l'installateur, il n'y a pas de vérification spécifique des packages internes. J'ai vérifié les packages redistribuables dans le Panneau de configuration -> Programmes et fonctionnalités et les options du clic droit sont Désinstaller et Modifier.

En cliquant sur Modifier, une fenêtre s'affiche avec les boutons Réparer/Désinstaller/Fermer.

Existe-t-il un moyen pratique de vérifier la signature numérique de l'installation redistribuable Visual C++? (en particulier, vérifiez que le paquet redistribuable est authentique et qu'il n'a pas été falsifié?)

Le programme d'installation n'a qu'une signature numérique pour son éditeur.

4
user1258361

Je peux penser à deux choses:

  1. Votre programme d'installation doit extraire les packages Visual C++ Redistributable avant l'installation. Habituellement, il est placé quelque part sous %temp%. Vous pouvez nettoyer ce dossier avant l'installation ou exécuter le programme d'installation sur Sandboxie, puis parcourir les fichiers de sandbox pour le trouver et vérifier sa signature numérique.

  2. Installez un logiciel HIPS (Host Intrusion Prevention), configurez-le correctement et vous serez invité à installer chaque paquet individuellement.

Si vous souhaitez vérifier les DLL redistribuables VC++ déjà installées sur votre système, accédez à %windir%\System32 et vérifiez les fichiers msvcpX.dll (où X est le numéro de version (par exemple, msvcp140.dll pour VC++ version 14.0.23918).

Et bravo pour avoir conservé la bonne pratique de vérification des signatures numériques avant d’accorder tous les droits.

4
Marc.2377