2013-11-09 42 views
6

Ich habe ein Zertifikat für mein Programm gekauft.Signieren von .exe mit CER-Datei (Wie lautet der Name meines Zertifikats, für den signtool.exe erforderlich ist?)

Die Website, von der ich es gekauft habe, schickte mir eine cer Datei (43-some-wirklich-long-name-9962812767788.cer). Es wurden keine weiteren Dateien gesendet, aber ich bin fast 100% sicher, dass ich nichts mehr brauche.

Als ich an dieser cer Datei klicken, gibt es Informationen wie:

  • für: (meine Daten)
  • von: Certum-Code CA Signing
  • gültig bis: 2014-10- 24

All diese Informationen scheint in Ordnung zu sein.

Ich habe meine .exe Datei, die ich damit signieren möchte (also wenn der Benutzer es als Administrator unter Windows ausführen wird, wird er in der Lage sein, die Zertifikatsinformationen zu sehen).

Ich habe festgestellt, dass ich signtool.exe dafür verwenden kann, aber es gibt immer einen Fehler zurück, dass kein Zertifikat gefunden wurde, das alle Kriterien erfüllt.

So , wie mein Programm unterzeichnen (add .CER meinen .exe) mit nur .CER Datei (und alle Dateien, die ich von dieser .CER Datei erzeugen kann,)

Ich habe keine Erfahrung in Zertifikate, CER und alle Zertifikate Terminologie, so wenden Sie sich bitte, dass berücksichtigen, während der Beantwortung (ich ein einfacher Mann bin ...;)


Bisher habe ich installiert (ich glaube, ich habe es in der richtigen Art und Weise) cer an den Vertrauenswürdige Stammzertifizierungsstellen auf Ihrem Computer speichert Konto, nach MSDN blog:

  1. Start-> Ausführen -> MMC
  2. Datei -> Hinzufügen/Entfernen Sanp in ...
  3. Wählen Sie im Fenster "Snap-Ins hinzufügen oder entfernen" die Option "Zertifikate" und klicken Sie auf "Hinzufügen>". Wählen Sie "Computer Account" und klicken Sie dann auf "Next".
  4. Wählen Sie "Lokaler Computer" und klicken Sie auf "Fertig stellen".
  5. Öffnen Sie "Vertrauenswürdige Stammzertifizierungsstellen" im linken Bereich und klicken Sie auf "Zertifikate", siehe Abbildung 7. Klicken Sie dann mit der rechten Maustaste auf das rechte Fenster und wählen Sie "Alle Aufgaben -> Importieren".
  6. Importieren Sie die obige .cer Datei, die Sie erstellt und installiert haben.

ich in der Tat meine cer an der MMC sehen jetzt: enter image description here

Dennoch weiß ich nicht, wie signtool.exe in der richtigen Art und Weise zu nutzen. Der Befehl:

Signtool sing /v 
/t http://timestamp.verisign.com/scripts/timstamp.dll 
/n CER_NAME_HERE FileToSign.exe 

ausfällt, weil Ich weiß nicht, was die „CER_NAME_HERE“ für mein Zertifikat ist.

Antwort

2

In Ihrem Beispiel geben Sie nicht die Zertifikatsdatei an.

Zunächst müssen Sie create a pfx file das Zertifikat und keine Unterzeichnung CA-Zertifikate enthalten, die Sie dann mit der /f Option übergeben:

signtool.exe sign /f "blah.pfx" /t http://timestamp.comodoca.com/authenticode "filetosign.exe" 

Die /n Option wird nur verwendet, um ein bestimmtes Zertifikat aus dem Zertifikatspeicher auswählen .

+0

Als ich es verwendet (mit der richtigen/f " file.cer "), habe ich Fehler: SignTool Error: Es wurden keine Zertifikate gefunden, die alle Kriterien erfüllten (wenn ich nicht den richtigen Dateinamen benutze wie/f" badfile.cer "habe ich Fehler, dass die Datei nicht gefunden wurde, also ist es etwas anders). – PolGraphic

+0

@PolGraphic Möglicherweise müssen Sie es in eine pfx (Zertifikatspeicher) konvertieren, die das Zertifikat und alle signierenden CA-Zertifikate enthält. Ich weiß nicht, wie man das macht. – Deanna

+1

In der Tat brauchte ich eine PFX-Datei. Können Sie es Ihrer Antwort hinzufügen, damit ich es als richtige Antwort markieren kann? Beide/f Spitze und pfx Spitze machen zusammen volle Lösung. – PolGraphic

4

Keine klare klare Antwort, also werde ich das hinzufügen.

Für Certum, wenn Sie Ihre Zertifikate anfordern, gibt es eine Installationsoption. Verwenden Sie das, um auf Ihrem Computer zu installieren. Sie können dann zum Zertifikatspeicher Ihres Browsers gehen, dort das Zertifikat auswählen und dann den Export auswählen. Von dort können Sie auswählen, dass der private Schlüssel im PFX-Format exportiert werden soll.

Hoffe das hilft jemand, ~ techdude.

4

Das Zertifikat im Zertifikatspeicher zu halten, ist der richtige Ansatz. Die Idee, die Datei .pfx direkt zu verwenden, lädt einfach dazu ein, dass der Schlüssel gestohlen wird. Ich bin mir sicher, dass die gleichen Leute, die diese Art von Antwort zur Verfügung gestellt haben, auch das Passwort behalten, das den privaten Schlüssel schützt, der in irgendeiner Stapelverarbeitungsdatei zur Verfügung gestellt wird. Trotzdem fordere ich alle auf, die Cert-Stores zu benutzen, deshalb wurden sie von Anfang an geschaffen.

Sie müssen nur die .pfx mit dem privaten Schlüssel in den Personal Speicher importieren. Markieren Sie den privaten Schlüssel als nicht exportierbar für zusätzliche Sicherheit. Dann können Sie den signtool.exe mit dem /n Schalter und dem Wert des Issued To Feldes anrufen. Das Passwort wird nicht mehr benötigt. Wenn Sie einen machine scope anstelle eines user scope verwendet haben, müssen Sie auch den Schalter /sm mit einschließen.

0

Ich hatte das gleiche Problem und reparierte es, indem ich p12 anstelle von pfx Dateityp verwendete. Ich habe die p12-Datei mit Firefox Certificate Manager mit Comodos user.crt erstellt. Die Befehlszeile war:

Signtool Zeichen/f "C: \ Test.p12"/p password1/t http://timestamp.comodoca.com/authenticode/v "C: \ Test.msi"