Da hab ich mal wieder lange gesucht und als ich endlich ein Zertifikat hatte ging es nicht :
„Das angegebene Zertifikat muss einen privaten Schlüssel aufweisen, der den Schlüsselaustausch ermöglicht. Der Prozess muss über Zugriffsrechte für den privaten Schlüssel verfügen.“
Also nochmals über die Bücher bis ich endlich den richtigen Befehl hatte:
makecert -r -sr LocalMachine -ss My -a sha1 -n "CN=localhost" -sky exchange -pe
Das -r steht dafür das das Zertifikat selbst signiert ist.
-sr für den SpeicherContainer (CurrentUser oder LocalMachine)
-ss für den Speicherort im Container
-n über den Servernamen (in meinem Fall der Localhost)
-sky markiert den Privaten Schlüssel das der für den Schlüsselaustausch verwendet werden darf.
-pe das der Private Schlüssel auch im SpeicherContainer abgelegt wird.
Nach dem ausführen muss man das Zertifikat noch in den Speicher der Vertrauenswürdigen Stammzertifikaten kopieren damit das Zertifikat gültig ist.
Und siehe da, der WCF Host aktzeptiert meinen Schlüssel.
Schreibe einen Kommentar