395 Stimmen

Signtool-Fehler: Es wurden keine Zertifikate gefunden, die alle angegebenen Kriterien mit einer Windows Store-App erfüllen?

Ich versuche, ein Windows 8 Appx-Paket mit einer vorhandenen PFX-Datei zu signieren. Ich verwende einen Befehl wie folgt:

signtool.exe sign /fd sha256 /f "key.pfx" "app.appx"

Und hiermit erhalte ich:

SignTool-Fehler: Es konnten keine Zertifikate gefunden werden, die alle angegebenen Kriterien erfüllen.

Welche "Kriterien" erfülle ich nicht? Dies ist nur für Testzwecke, daher handelt es sich um selbstsignierte Zertifikate. Ich habe versucht, den Schlüssel zu importieren und dann zu signieren, aber es führt immer zu dem gleichen Fehler. Wie kann ich das beheben?

19voto

maridob Punkte 651

In meinem Fall habe ich den falschen Zertifikatstyp, den ich versuche zu zuordnen.
Ich hatte "Server Authentication" anstatt "Code-Signierung".
Du solltest dies im Abschnitt "Vorgesehenes Zweck" im Zertifikat Snap-In sehen können.
Danach funktioniert es einwandfrei.

16voto

user3740240 Punkte 199

Hatte das gleiche Problem, stellte sich heraus, dass der private Schlüssel zum Zertifikat keine Berechtigung hatte.
Um es zu beheben - öffnen Sie das Zertifikat-Management, suchen Sie Ihr Zertifikat, klicken Sie mit der rechten Maustaste -> Private Schlüssel verwalten und stellen Sie dann sicher, dass Ihr Benutzer unter Sicherheit oben hinzugefügt und Berechtigungen erteilt wurden, das hat es für mich behoben.

15voto

Sourav Sharma Punkte 277

Nur das Häkchen bei "Die ClickOnce-Manifeste unterschreiben" in den Eigenschaften des Projekts entfernen, dann wird der Fehler behoben und du kannst von dort aus ein neues erstellen.

15voto

Dave Punkte 900

Falls noch jemand auf dieses Problem stößt: Mein Problem bestand darin, dass ich das Eingabeaufforderungsfenster als Administrator ausführen musste, bevor ich die Anwendung signtool.exe verwendet habe. Danach hat alles wunderbar funktioniert.

12voto

noelicus Punkte 13603

Ich hatte dieses Problem und bin mir nicht ganz sicher, welcher der folgenden Schritte dazu geführt hat, dass es funktioniert hat, aber ich hoffe, dass es jemand anderem hilft... das habe ich getan:

  • Installieren Sie das heruntergeladene Zertifikat (.crt) in Zertifikate (ich habe es in den „persönlichen“ Speicher gelegt) - mit der rechten Maustaste auf die .crt-Datei klicken und auf Zertifikat installieren klicken.
  • Führen Sie certmgr.msc aus und exportieren Sie das Zertifikat (das sich im Speicher befindet, den Sie im 1. Schritt verwendet haben) als pfx-Datei inklusive privatem Schlüssel und erweiterter Eigenschaften
  • Verwenden Sie die exportierte .pfx-Datei beim Signieren Ihres Projekts
  • Beispiel signtool: signtool sign /f "c:\mycert.pfx" /p mypassword /d "Beschreibung" /t http://timestamp.verisign.com/scripts/timstamp.dll $(TargetPath)
    wobei das Passwort dasselbe ist, wie bei der Exportierung angegeben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X