So importieren Sie ein Zertifikat (pfx) mit einem privaten Schlüssel in Windows XP

4

Ich habe den ganzen Tag versucht, ein Zertifikat unter Windows XP zu importieren, aber ich bin immer gescheitert. Ich habe folgendes gemacht:

  1. Erstellen Sie das Zertifikat mit einem privaten Schlüssel (kein Kennwort):

    makecert -sr LocalMachine -ss My -pe -sky exchange -n "CN=TestCert" -a sha1 -sv TestCert.pvk TestCert.cer
  2. Legen Sie dann das Zertifikat und den privaten Schlüssel in einer pfx-Datei zusammen:

    pvk2pfx.exe -pvk TestCert.pvk -spc TestCert.cer -pfx TestCert.pfx
  3. Importieren Sie die pfx-Datei mit einem Befehlszeilentool (deutsches System):

    winhttpcertcfg.exe -I TestCert.pfx -a NT-AUTORITÄT\NETZWERKDInternet ExplorerNST -c LOCAL_MACHINE\My
    Error:  Unable to import contents of PFX file.
        Please make sure the filename and path,
        as well as the password, are correct.

    Hinweis: "NT-AUTORITÄT \ NETZWERKDInternet ExplorerNST" - & gt; "NT-AUTHORITY \ NETWORKSERVICE"
    Der Dateiname ist in Ordnung und das Passwort wurde nicht festgelegt. Auch wenn ich in Schritt 1 das Kennwort (z. B. "MyPassword") eingebe und am Ende von Schritt 3 eingebe:

    ... -p MyPassword

Ich habe den gleichen Fehler bekommen. Dann habe ich versucht, in die Zertifikatkonsole zu importieren (mmc mit Zertifikat-Snap-In). Dort bekam ich folgenden Fehler: "Der private Schlüssel, den Sie importieren, ist möglicherweise ein Dienstanbieter, der nicht installiert ist." - & gt; Msgstr "Der importierte private Schlüssel erfordert möglicherweise einen Dienstanbieter, der nicht installiert ist". Der Microsoft Crypto-Service ist jedoch in Betrieb.

Was kann ich sonst noch tun?
Unter Windows Vista und Windows 7 habe ich dies ohne diese Probleme ausgeführt.
Ich brauche dieses Zertifikat, um einen WCF-Dienst auszuführen.

Peter Mortensen
quelle

Antworten:

1

Inzwischen habe ich den Grund für das Problem gefunden.

Vor dem Versuch, Zertifikate mit privaten Schlüsseln zu importieren, habe ich einige Tage die Verzeichniszugriffsrechte des Speicherorts geändert, an dem die privaten Schlüssel gespeichert sind. Ich habe folgendes gemacht:

cacls "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\Microsoft\Crypto\RSA\MachineKeys" /E /G "NT-AUTORITÄT\NETZWERKDIENST":R

Danach war ich nicht mehr in der Lage, Zertifikate mit privaten Schlüsseln zu importieren. Sobald ich dieses Zugriffsrecht widerrufen habe, funktionierte der Import von Zertifikaten gut.

Ich verstehe nicht, warum das Hinzufügen eines Zugriffsrechts praktisch zu weniger Zugriffsrechten führt.

Ich hoffe jedoch, dass dies jemandem helfen kann, der auf dasselbe Problem stößt.

Peter Mortensen
quelle