Wie überprüft man, ob eine Datei eine digitale Signatur hat?
Ich würde gerne überprüfen, programmgesteuert, wenn eine Datei Digital signiert wurde oder nicht.
Für den moment, fand ich einen eher obskuren code im MSDNdass nicht kompilieren...
Keiner eine Idee zu dem Thema?
Einem externen tool mit Kommandozeile wäre auch Super, übrigens.
InformationsquelleAutor der Frage | 2009-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Download Sigcheck y verwenden Sie den folgenden Befehl.
Ein Beispiel für eine signierte dll
Ein Beispiel für eine nicht signierte dll
Sigcheck ist ein Befehlszeilen-Dienstprogramm, das zeigt die Datei-version Nummer. Viel Glück
InformationsquelleAutor der Antwort RckLN
Die wichtigen fehlenden Teil der Antwort erwähnen signtool ist:
Ja, mit den bekannten signtool.exe Sie können auch herausfinden, ob eine Datei signiert ist. Keine Notwendigkeit, zu herunterladen ein anderes tool!
E. g. mit der einfachen Linie:
(Für verbose-out setzen, fügen Sie einen '/v' nach '/pa'.)
Kann man Fragen: Warum ist dies wichtig? Ich nur Unterschreiben, die Dateien (wieder), die unterzeichnet werden muss, und es funktioniert.
Mein Ziel ist es, zu halten, baut sauber, und nicht Unterschreiben-Dateien ein zweites mal, weil nicht nur das Datum geändert, aber das ist binären andere.
Business Beispiel:
Mein Mandant hat eine schlanke automatisierte "dev ops" Art-build und post-build-Prozess. Es gibt mehrere Quellen für die verschiedenen Datei-sets, und am Ende werden alle zu bauen, geprüft und gebündelt, um die Verteilung - und für einige Dateien müssen signiert werden. Um zu garantieren, dass einige Dateien nicht, lassen Sie das Gerät ohne unterzeichnet, wir unterzeichnen alle wichtigen Dateien, selbst wenn Sie bereits unterzeichnet.
Aber das ist nicht sauber genug:
1) Wenn wir signieren einer Datei wieder, die bereits signiert ist, die Datei-Datum und binären Fingerabdruck verpasst und die Datei verliert Vergleichbarkeit mit Quellen, wenn es einfach kopiert.
(Zumindest wenn Sie sich mit einem timestamp, was wir immer tun, und ich denke, ist sehr zu empfehlen.)
Dies ist ein schwerer Qualitätsverlust, weil diese Datei ist nicht mehr vergleichbar mit seinen Vorgängern aus anderen Datei-Quelle.
2) Wenn wir eine Datei signieren wieder, das könnte auch ein Fehler und es ist eine Drittanbieter-Datei-das sollte nicht unterzeichnet werden, die von Ihrem Gerät.
Können Sie vermeiden, indem Sie die Unterzeichnung selbst abhängig von den return-code des vorhergehenden "signtool überprüfen" call erwähnt.
InformationsquelleAutor der Antwort Philm
Wenn benötigen Sie ein externes tool verwenden, können Sie signtool.exe. Es ist Teil des Windows SDK, dauert es Kommandozeilen-Argumente, und Sie können herausfinden, mehr über ihn hier http://msdn.microsoft.com/en-us/library/aa387764.aspx
InformationsquelleAutor der Antwort LanceSc
Fand ich eine andere option (Reine .Net-code) auf der web -hier.
Code ist sehr einfach und funktioniert.
InformationsquelleAutor der Antwort OSH
Sie können auch versuchen, zu verwenden npm-Paket
sign-check
für diese Zwecke.It-Paket implementiert WinVerifyTrust-API und hat einfache Verwendung:
InformationsquelleAutor der Antwort kami4ka
Wählen Sie die
<*>.exe
Rechtsklick >Eigenschaften. wenn die Datei signiert ist, dann erhalten Sie diese Registerkarte auf die Eigenschaften-Fenster der Datei.InformationsquelleAutor der Antwort run