Import eines Zertifikats mit dem privaten Schlüssel programmgesteuert

Ich versuche, die HttpListener-Klasse in eine C# - Anwendung, um eine mini-webserver dienen, der Inhalte über SSL. Um dies zu tun, ich brauche zu verwenden, in der httpcfg-tool. Ich habe eine .pfx-Datei mit meinem öffentlichen und einen privaten Schlüssel. Wenn ich importieren Sie dieses Schlüsselpaar manuell mit der mmc in den Speicher des lokalen Computers funktioniert alles einwandfrei. Allerdings, wenn ich diesen Schlüssel importieren-pair-Mädchen programmgesteuert mithilfe der X509Store Klasse, ich bin nicht in der Lage, eine Verbindung zu meinem mini-webserver. Beachten Sie, dass bei beiden Methoden das cert wird immer importiert MEINEM Speicher in "LocalMachine". Seltsam, ich bin in der Lage, zeigen Sie das Zertifikat in mmc sobald ich programmgesteuert importieren und wenn ich Ansicht es, die Benutzeroberfläche zeigt an, dass ein private key ist auch verfügbar für dieses Zertifikat.

Graben ein wenig tiefer, ich merke, dass wenn ich manuell den Schlüssel importieren-pair-Mädchen, ich kann sehen, eine neue Datei erscheint in C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys, aber man wird nicht angezeigt, wenn ich importieren programmgesteuert. Auf ein zugehöriger Hinweis, wenn ich löschen Sie ein Zertifikat manuell importiert werden, ist es nicht entfernen Sie die entsprechenden privaten Schlüssel-Datei aus dem zuvor genannten Verzeichnis.

Letztlich, meine Frage ist: Wenn ich programmgesteuert hinzufügen des Zertifikats zum Speicher, wo der private Schlüssel gespeichert wird und warum ist es nicht zugänglich, um die HttpListener-Klasse (HttpApi)?

Beachten Sie, dass diese Frage ist etwas verwandt, aber ich glaube nicht, dass permissioning ist das problem, da dies alle getan, als der Windows-Benutzer:
, Wie lese-Berechtigung auf die Datei mit dem privaten Schlüssel von X. 509-Zertifikat aus .NET

InformationsquelleAutor Jason | 2009-05-01

Schreibe einen Kommentar