2013-03-08 5 views
25

importiere Ich recherchierte diese Frage gründlich auf stackoverflow und ich habe zahlreiche Antworten gesehen, aber keiner von ihnen hat für uns noch gearbeitet. Wir haben kürzlich ein Code-Signing-Zertifikat von comodo gekauft, mit dem wir unsere C# WPF .net4-Anwendung signieren werden.
Wir haben die Anweisungen auf der following URLKann den folgenden Schlüsseldateifehler nicht importieren, wenn ich pfx

befolgt und haben dann das Zertifikat in Visual Studio importiert unter 'Projekteigenschaften-> Gesang-> die Baugruppe signieren'. Wir versuchen dann, das Projekt zu erstellen und die folgende Fehlermeldung zu erhalten:

Kann die folgende Schlüsseldatei nicht importieren: comodo.pfx. Die Schlüsseldatei kann passwortgeschützt sein. Um dies zu korrigieren, versuchen Sie, das Zertifikat erneut zu importieren. Installieren Sie das Zertifikat manuell mit dem folgenden Schlüsselcontainernamen im CSP für starke Namen: VS_KEY_xxxxxxxxxxxxxxx.

  • Klicken Sie auf Passwort ändern und verwenden das gleiche Passwort in allen drei Orten
  • sn -i [comodo] PFX VS_KEY_xxxxxxxxxxxxx
  • :

    Wir haben zahlreiche Lösungen im Internet und haben versucht, die folgenden gefunden

  • versuchte es mit einem Passwort zu weniger snk-Datei und verwenden, die anstelle von PFX
  • versucht mit Visual Studio als Administrator und importieren Schlüssel
  • versuchte sehr einfach Barebone pr Schaffung Umwandlung oject und der Unterzeichnung mit diesem
  • Versuchte Visual Studio 2010 sowie 2012
  • Wir haben versucht, das Hinzufügen der folgenden auf die Montage [assembly: AssemblyKeyFile ("Pfad der Schlüsseldatei")]
  • Added Ereignis in postbuild „C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ signtool.exe "sign/f" $ (ProjectDir) [Schlüsseldatei] .pfx "/ p [Thepassword]/v" $ (ProjectDir) obj \ Release \ $ (TargetFileName)“
  • Added in einem Abschnitt in der CSPROJ Datei:

  • Heruntergeladene http://visualstudiogallery.msdn.microsoft.com/a83505c6-77b3-44a6-b53b-73d77cba84c8 und klickte auf ‚Apply Fix‘ auf den Fehler

wir bisher keinen Erfolg gehabt haben. Wir können den Schlüssel einfach mit dem Passwort importieren, damit wir wissen, dass das Passwort korrekt ist. Wir wissen auch, dass dies für die Signierung des Manifests in einer ClickOnce-Veröffentlichung gut funktioniert. Um sicher zu gehen, dass wir keine anderen Probleme haben, haben wir die Unterzeichnung des Cilckonce-Programms abgestellt und versuchen nur, die Versammlung zu unterschreiben.

+0

Es gibt einige Workarounds, http://connect.microsoft.com/VisualStudio/feedback/details/524792/ Import-Key-Datei-wurde abgebrochen – Raj

+0

Hey Raj. Vielen Dank für die Antwort, ich habe alle diese Problemumgehungen versucht und war nicht erfolgreich. – hobeau

+0

Wenn Sie die Methode "sn -i [comodo] .pfx VS_KEY_xxxxxxxxxxxxx" ausprobiert haben, haben Sie die Hilfemeldung erhalten? Ich tat es und es war nicht erfolgreich, aber wenn ich die "Developer Command Prompt" als Administrator ausführte, fragte sie mich nach einem Passwort und war erfolgreich. – VoteCoffee

Antwort

11

Ich habe gelernt, dass Visual Studio untergeordnete Zertifikate nicht sehr gut zu behandeln scheint.
Ich habe mehrere certs auf mehreren Maschinen (verschiedene OS/VS-Kombinationen) mit den gleichen Ergebnissen versucht.
Schließlich fand ich diese als Behelfslösung:

Die Frage mit Visual Studio scheint zu sein, dass es keine Zertifikatsverkettung mag. Dies können Sie lösen, indem Sie das Zertifikat ohne Verkettung importieren/exportieren. Die nächste Ausgabe wird von using the certutil and export with the AT_SIGNATURE adressiert. Ich konnte es in VS importieren und erstellen, aber es scheint nicht die Assembly zu signieren.

+0

Dies ist die einzige Methode, die konsistent wie hier referenziert funktioniert: http://social.msdn.microsoft.com/Forums/windows/en-US/b33fc15d-d125-44b1-846a-7f461f3b1504/sign-assembly-with-pfx -certificate? forum = winformssetup –

+0

Danke dafür. Meins war etwas umfangreicher, kombiniert mit der zweitbesten Antwort hier: http://stackoverflow.com/questions/1351830/what-does-exited-with-code-9009-mean-during-this-build/ 9990227 # 9990227. Ich fügte folgendes als Post-Build-Event hinzu: 'call '$ (DevEnvDir) .. \ Tools \ vsvars32.bat" 'und' signtool sign/f "$ (SolutionDir) keyfile.pfx"/p password/v "$ (ProjectDir) $ (OutDir) $ (TargetFileName) '. Meine Schlüsseldatei war die Basis einer Lösung, auf die von mehreren Projekten verwiesen wird. Das' OutDir'-Makro wechselt je nach aktiver Konfiguration in 'debug' oder' release'-Ordner. – ps2goat

+1

Und wie andere sagten, war ich in der Lage, das Authenticode-Cert normalerweise installiert zu haben.Aus einem Grund konnte Visual Studio nicht ein verkettetes Cert innerhalb des Projekteigenschaften Tabs – ps2goat

9

Ich habe ähnliche Fehler. Gelöst durch Auswahl von Installieren Sie PFX über ein Kontextmenü im Windows Explorer.

+0

dies funktionierte wie ein Charme mit vs2013 auf Sieg 8.1 – kpierce8

13

Sie können einfach öffnen "Projekt>Eigentum>Signing" und deaktivieren Sie die "Zeichen der Clickonce manifestiert" Kontrollkästchen.

3

Die beste Lösung, die ich mir vorstellen kann, ist, gehen Sie zu Projekt -> Eigenschaften -> Wählen Sie eine starke Name Schlüsseldatei Dropdown und wählen Sie "Neu" -> Erstellen Sie den Schlüssel und gehen Sie zu Zertifikat Abschnitt oben -> Klicken Sie auf Aus Datei auswählen und wählen Sie den neuen Schlüssel, den Sie erstellt haben -> Lösung erstellen -> Veröffentlichen.

1

Ein weiterer 'sind für mich' ...

-Recht klickte auf der PFX in Windows Explorer, wählten 'PFX Installieren' und im Assistenten das Kennwort geliefert. Wählen Sie dann in den Projekteigenschaften in VS unter "Signieren" die Option "Passwort ändern" und geben Sie das Passwort erneut ein. Vorher konnte nur VS als Administrator ausgeführt werden.

0

Für mich folgende gearbeitet, Erst installieren Zertifikat durch einen Doppelklick darauf. dann

Projekteigenschaften -> Signieren -> Wenn 'SignOn ClickOnce Manifeste' ist markiert -> klicken Sie auf 'Aus Datei auswählen' und wählen Sie .PFX Datei und es sollte alle Zertifikate gültige Details wie Ausgestellt, ausgestellt zeigen Nach, Verwendungszweck usw.

0

Ich hatte das gleiche Problem. Ich baue die Anwendung von einem USB-Stick auf zahlreichen Computern und glaube, dass dies die Ursache ist.

Ich fand Erfolg mit der Methode "sn-i [comodo] .pfx VS_KEY_xxxxxxxxxxxxx". ich die folgenden Schritte tat:

  1. Run "Entwickler Eingabeaufforderung" als Administrator (in START- gefunden> Programme-> Visuelle Studio-> Tools)
  2. Navigieren Sie zu Ihrem Schlüsselverzeichnis (für mich war der Stamm meines Projektverzeichnisses, nicht das Lösungsverzeichnis)
  3. "sn -i mykey.pfx VS_KEY_xxxxxxxxxxxxx" ausführen (mykey.pfx und VS_KEY_xxxxxxxxxxxxx sind beide in der Build-Fehlermeldung gefunden)
  4. das Passwort eingeben, wenn

erforderlich Wenn ich schon versucht, diese ohne läuft „Prompt Entwickler Command“ als Administrator, erhalte ich den Text Hilfeanzeige, wenn "läuft sn -i mykey.pfx VS_KEY_xxxxxxxxxxxxx "und es funktioniert nicht. Der Trick bestand darin, sicherzustellen, dass ich die Entwicklungsprompt als Administrator ausgeführt habe.

Für Kontext, ich bin mit VS Gemeinschaft 2013,5, Windows 7 x64 Professional und .NET Framework 4.7

Verwandte Themen