2014-11-18 15 views
5

Ich kann nicht Signntool mein Zertifikat zu finden. Die PFX-Datei funktioniert zum Signieren, ich habe das überprüft, indem ich die PFX-Datei direkt zusammen mit dem Passwort angegeben habe. Aber da andere Leute Zugriff auf das Code-Repository haben, möchte ich das Zertifikat und das Passwort dort nicht speichern.signtool mit Zertifikat in lokalen Computer gespeichert

Deshalb habe ich die pfx (von Symantec) auf dem Build-Server (als lokaler Computer, nicht pro Benutzer) in "vertrauenswürdigen Stammzertifizierungsstellen" installiert. Dies liegt daran, dass Jenkins mit dem lokalen Systemkonto gestartet wurde.

Das ist, was ich im Moment bin versucht:

signtool sign /v /sm /s Root /n <thename> /t http://timestamp.digicert.com <thefile> 

/sm/s Root - dies sollte Signtool sagen zu den "lokalen Rechner" Speicher zu wechseln, nicht wahr? und Root sollte "vertrauenswürdige Stammzertifizierungsstellen" angeben?

/n - hier verwende ich den Wert "Ausgestellt für" aus dem Zertifikat, das ist der Firmenname.

Ich bin von dem folgenden Fehler erfüllt:

"SignTool Error: No certificates were found that met all the given criteria." 

Ich habe heute durch so viele Links gepflügt, um herauszufinden versuchen, was ich falsch mache. Ich habe ich mit mmc mit einem Snap-In für Zertifikate auf dem lokalen Computer überprüft und das Zertifikat wird in "vertrauenswürdigen Stammzertifizierungsstellen" zurückgesetzt.

Antwort

4

diesen Befehl versuchen:

signtool sign /v /sm /s My /n <thename> /t http://timestamp.digicert.com <thefile> 

Sie gut /sm Option verwenden haben, aber wenn man /s Root hinzugefügt sagten Sie, dass Signtool in Computer-Speicher aber in Root-Behörden aussehen sollte. Sie können auch Parameter überspringen, da /s My der Standardwert ist.

Weitere Informationen finden Sie in der Dokumentation signtool.

+0

Ich wechselte zu "Mein" und installierte das Zertifikat in der lokalen Maschine/Personal und jetzt funktioniert es! Vielen Dank! jetzt stieß ich auf ein anderes Problem, der Zeitstempel-Server kann nicht erreicht werden. Es ist erreichbar, wenn ich das Signal Tool manuell über die Befehlszeile auf dem Buildserver trigge. aber nicht wenn der Buildserver es auslöst. – sundown

+0

Wahrscheinlich ein Proxy-Problem? Der Benutzer hat einen Proxy-Satz, das Systemkonto jedoch nicht. – pepo