Ich habe gerade ein Code-Signing-Zertifikat von Comodo gekauft. Ich habe eine kleine MS Access-Datenbank erstellt, die ich mit Inno Setup Installer bereitstellen möchte. Das Skript läuft gut, aber ich bin völlig neu in der Code-Signierung.
Wie kann ich meine Installationsdatei signieren? Brauche ich eine externe Software, um das Zertifikat zu signieren, oder kann ich das aus Inno Setup heraus tun?
Ich habe versucht, nach Antworten auf ähnliche Fragen zu suchen, aber keine konnte mir zeigen, was ich anfangen muss und wie ich vorgehen soll.
Um eine ausführbare Datei zu signieren (das von Inno Setup generierte Installationsprogramm), erstellen Sie einfach eine Batch-Datei (.bat) und fügen Sie diesen Inhalt ein:
%Vor%wo
"c: \ Programme (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ signtool.exe" ist der Pfad zum Microsoft-Signaturdienstprogramm (Bestandteil von Microsoft SDK)
Installer_Wizard_Code_Signing_Certificate.pfx ist Ihr Zertifikat
password123 ist das Passwort für Ihr Zertifikat
MySetupFile.exe ist Ihre Setup-Datei, die Sie unterschreiben möchten
Legen Sie alle Dateien in ein Verzeichnis (Zertifikat, Setup zum Signieren und die Batch-Datei) und führen Sie die Batch-Datei aus. Signtool signiert die Datei mit Zertifikat und prüft die Gültigkeit gegen den offiziellen Server.
(Sie können Ссылка -Server verwenden, obwohl Sie ein Comodo-Zertifikat haben egal.)
Was Sie tun, ist ziemlich einfach, versuchen Sie und folgen Sie allong
signtool.exe Zeichen / tr Ссылка / td sha256 / fd sha256 / a $ p
Beachten Sie die $ p am Ende, Inno Setup benötigt dies ... Sie sollten dies jetzt haben, und beachten Sie, dass ich den Pfad zu signtool.exe in meinen Pfadvariablen hinzugefügt habe und dass ich den Zeitserver von DigiCert verwende, um meine Signatur mit Zeitstempel zu versehen.
Im Skript fügen Sie nun dem Setup-Segment den folgenden Code hinzu:
SignTool = MsSign $ f
Diese Zeile weist den Compiler an, die Codesignierung zu verwenden, verwendet die Variable, die ich MsSign genannt habe, und signiert die vom Setup erzeugte Ausgabe.
Wenn Sie sich die generierte EXE anschauen, sehen Sie die digitale Signatur
Jetzt funktioniert das für mich, weil ich meinen Signaturspeicher so vorbereitet habe, dass die Befehlszeile die Signatur erhalten kann und ich nur eine Signatur signiere, so dass ich sie nicht benennen muss, Ihre Parameter können anders sein meins sind, und das ist in Ordnung, solange am Ende, Ihre Einrichtung funktioniert und Ihr Code wird signiert.
Ich hoffe, Ihnen geholfen zu haben und daran zu erinnern, dass Sie $ p in der Variable
brauchenGlückliche Kodierung
Walter
Tags und Links code-signing-certificate inno-setup