2009-07-29 1 views
6

Ich habe ein Serverzertifikat, das mit meinem WCF-Dienst funktioniert.WCF Server Zertifikate Keyset nicht gefunden, kann keinen privaten Schlüssel finden

Allerdings, wenn ich die Webservice laufen scheine ich ein Berechtigungsproblem zu haben.

[ArgumentException: Das Zertifikat 'CN = S80' muss einen privaten Schlüssel haben, der zum Schlüsselaustausch fähig ist. Der Prozess muss Zugriffsrechte für den privaten Schlüssel haben.]

Jede Idee?

Antwort

18

Angenommen, Sie haben das volle öffentliche/private Schlüsselpaar Sie den Zugriff auf den privaten Schlüssel des Zertifikats nicht mit dem Prozess läuft Ihr WCF-Dienst unter erteilt hat.

Nun, wie Sie tun, diese Version auf Ihrem OS hängt und wie Sie den Dienst hosten aber this article enthält Anweisungen, die für XP und Windows arbeiten sollte 2003

Für Windows 2008/Vista/Win7 der Prozess ist leicht einfacher. Starten Sie MMC, und fügen Sie das Zertifikat-Snap-In hinzu, indem Sie den richtigen Containerbesitzer für Ihr SSL-Zertifikat auswählen. Suchen Sie das Zertifikat (wahrscheinlich im persönlichen Speicher), klicken Sie mit der rechten Maustaste darauf und wählen Sie Alle Aufgaben> Private Schlüssel verwalten. Erteilen Sie dem Benutzer, der Ihren Dienst hostet, Lesezugriff auf den privaten Schlüssel.

+1

auch ein nützliches Link hier http://msdn.microsoft.com/en-us/library/aa702621.aspx – AJM

+0

+1 - danke für mich eine Menge Zeit und Frustration gespart! –

+1

@blowdart, Ihr Link für 2003 ist gestorben. Irgendeine Chance, dass es jetzt woanders ist? –

2
winhttpcertcfg -g -c LOCAL_MACHINE\MY -s mycert -a "Network Service" 
Verwandte Themen