InnoSetup - Code Signing-Zertifikat

8

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.

    
mtn 03.10.2013, 13:40
quelle

2 Antworten

10

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.)

    
Slappy 04.10.2013 05:11
quelle
2

Was Sie tun, ist ziemlich einfach, versuchen Sie und folgen Sie allong

  1. Öffnen Sie Inno Setup und wählen Sie Extras- & gt; Konfigurieren Sie Zeichen-Tools
  2. Klicken Sie auf "Add .." und vergeben Sie einen Namen, nennen wir es MsSign, da ich signtool.exe von Microsoft , sollten Sie jetzt so etwas wie
  3. Sie werden dann nach der Befehlszeile des Tools gefragt, das Sie zum Signieren verwenden, da ich signtool.exe verwende, das ich verwenden werde
  

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.

  1. 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.

sollte es so aussehen

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

brauchen

Glückliche Kodierung

Walter

    
Computer Trading 19.02.2018 08:04
quelle