2012-02-18 2 views
1

J'ai passé toute la nuit à faire des recherches sans solution. Je suis en train de vérifier la signature numérique d'un fichier dans le dossier des lecteurs (C: \ Windows \ System32 \ drivers * .sys) choisir celui que vous voulez. Je sais que le code est correct car si vous déplacez le fichier de ce dossier vers C: \, le test fonctionne.Vérification de la signature numérique dans le dossier system32/drivers

WinVerifyTrust donne erreur 80092003 http://pastebin.com/nLR7rvZe

CryptQueryObject donne erreur 80092009 http://pastebin.com/45Ra6eL4

Quel est le problème?

Répondre

5

0x80092003 = CRYPT_E_FILE_ERROR = Une erreur s'est produite lors de la lecture ou de l'écriture dans le fichier.

0x80092009 = CRYPT_E_NO_MATCH = Aucune correspondance lors de la tentative de recherche de l'objet.

Je suppose que vous utilisez une machine 64 bits et la redirection du système de fichiers WOW64 vous redirige vers syswow64 \ drivers, qui est vide. Vous pouvez désactiver la redirection avec Wow64DisableWow64FsRedirection().

+0

Cela semble résoudre le problème - même si je rencontre des difficultés supplémentaires. Toujours en train d'enquêter, mais certains fichiers échouent avec un mais réussissent avec l'autre. – SNyamathi

3

Si vous faites un clic droit et affichez les propriétés du fichier, pouvez-vous voir une signature numérique? Votre fichier fait probablement partie d'un catalogue et vous devez utiliser l'API de catalogue pour extraire le certificat de la base de données cert et le vérifier.