11 Stimmen

Wo speichert makecert den privaten Schlüssel, wenn -sv nicht angegeben ist?

Angenommen, ich führe diesen Befehl aus:

makecert testcert.cer

Wird ein privater Schlüssel erstellt? Wenn ja, wo wird er automatisch im System gespeichert, obwohl ich makecert nicht angewiesen habe, dieses Zertifikat in einem Zertifikatspeicher zu installieren?

4voto

Die Art und Weise, wie Sie den Befehl ausführen, erzeugt keinen privaten Schlüssel. Um ein Zertifikat mit privatem Schlüssel zu erzeugen, müssen Sie die Option -pe verwenden. Dies ist jedoch nicht ausreichend. Der private Schlüssel wird nur erstellt, wenn das Ziel Ihres Zertifikats ein Speicher ist. Daher müssen Sie den Befehl wie folgt verwenden:

makecert -pe -ss Mein testcert.cer

"my" entspricht dem "persönlichen" Speicher.

2voto

Scott Ivey Punkte 39470

Es sieht so aus, als ob der private Schlüssel in der Datei selbst gespeichert ist. Aus der Dokumentation unter http://msdn.microsoft.com/en-us/library/bfsktky3(VS.80).aspx heißt es...

Vorsicht
Sie sollten einen Zertifikatspeicher verwenden, um Ihre Zertifikate sicher zu speichern. Die von diesem Tool verwendeten .snk-Dateien speichern private Schlüssel auf ungeschützte Weise. Wenn Sie eine .snk-Datei erstellen oder importieren, sollten Sie darauf achten, sie während der Verwendung zu sichern und sie zu entfernen, wenn Sie fertig sind.

0voto

Nicolas Dorier Punkte 7327

Der private Schlüssel wird nicht erstellt, weil HasPrivateKey von X509Certificate2 auf false gesetzt ist, wenn ich das Zertifikat in .NET lade.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X