wake-up-neo.com

was ist der Unterschied zwischen .cer- und pfx-Dateien?

Die Leute pflegten zu sagen -

zertifikat im X.509-Standardformat gespeichert. Dieses Zertifikat enthält Informationen über den Inhaber des Zertifikats sowie öffentliche und private Schlüssel.

pfx - steht für persönliches Austauschformat. Es wird verwendet, um öffentliche und private Objekte in einer einzigen Datei auszutauschen. Eine pfx-Datei kann aus einer .cer-Datei erstellt werden. Kann auch zum Erstellen eines Software Publisher-Zertifikats verwendet werden.

** von diesem Link verwiesen Was ist der Unterschied zwischen einer Cer-, Pvk- und Pfx-Datei? **

aber niemand sagt, wann wir CERT-Datei und PFX-Datei verwenden sollen. Wenn möglich, besprechen Sie bitte die Situation, wann wir uns für CERT-Datei entscheiden sollten und wann wir für PFX-Datei gehen sollten. Vielen Dank.

58
Thomas

Ein .pfx enthält sowohl den öffentlichen als auch den privaten Schlüssel für das zugehörige Zertifikat (dieses NIEMALS außerhalb Ihrer Organisation freigeben). Es kann für TLS/SSL auf einer Website verwendet werden, zum digitalen Signieren von Nachrichten oder Autorisierungstoken oder zur Authentifizierung bei einem Partnersystem. Eine .cer-Datei enthält nur den öffentlichen Schlüssel (dies ist der Austausch mit Integrationspartnern). Es kann verwendet werden, um Token oder Client-Authentifizierungsanforderungen zu überprüfen. Dies ist, was von einem HTTP-Client von einem Server im SSL-Handshake empfangen wird. 

72
PeterB

2 x Szenarien, die etwas anders funktionieren:

SZENARIO 1:
Webbrowser (Client), der über HTTPS mit SSL auf die Webseite (Server) zugreift.

Der Server verfügt über die .PFX-Datei, die beide Schlüssel enthält. Der Client stellt eine Verbindung zu einer Website auf dem Server her und der Server sendet eine Kopie seines öffentlichen Schlüssels (.CER-Datei) als Teil des SSL-Handshakes an den Client. Der Client generiert dann einen "SESSION-Key" und verschlüsselt ihn mit dem vom Server empfangenen öffentlichen Schlüssel. Der Sitzungsschlüssel wird dann an den Server zurückgesendet und entschlüsselt, um seine Authentizität zu bestätigen. Wenn dies erfolgreich war, teilen sich Client und Server jetzt den "Sitzungsschlüssel", um mit symmetrischverschlüsselt) zu kommunizieren (dh sowohl Client als auch Server verschlüsseln UND entschlüsseln jetzt alle Nachrichten untereinander mit demselben Sitzungsschlüssel. Alle Dies geschieht hinter den Kulissen im Hintergrund des Webbrowsers, zwischen der Eingabe der URL in die Adressleiste und der Anzeige der Webseite.

SZENARIO 2:
Anwendung (Client) verbindet sich mit einer FTP-Site (Server)
oder
Remote Desktop (Client zu Server) mit SSH
(beide Beispiele würden zutreffen)

In diesem Szenario haben beideClient und Serverihre eigenen privaten und öffentlichen Schlüsselpaare
(im Gegensatz zu den anderen in diesem Thread erwähnten Beispielen, die nur erklären, wenn ein Server beide Schlüssel hat und der Client nur den öffentlichen Schlüssel hat)

Zur Erläuterung: Beschriften Sie die Schlüsselpaare wie folgt:
A1und A2= als private bzw. öffentliche Schlüssel des Servers
B1und B2= als private bzw. öffentliche Schlüssel des Clients

Bei Verwendung dieses Modells wurde in früheren Beiträgen in diesem Thread darüber gesprochen, wann der Server über A1und A2(.PFX-Datei) verfügt und nur eine Kopie von A2(.CER) mit Kunden

Während FTP- oder SSH-Verbindungen (es gibt andere Beispiele) aus A1, A2, B1und B2Schlüssel in der gesamten Client-Server-Kommunikation bestehen. Zum Beispiel ,
- Der Client stellt eine Verbindung zum FTP-Server her.
- Server Sendet eine Kopie seines öffentlichen Schlüssels (A2) an den Client.
- Der Client sendet seinen eigenen öffentlichen Schlüssel (B2) zurück an den Server, um den Handshake abzuschließen.
- Dies wird nun asymmetrischVerschlüsselung verwenden

Der Server verfügt jetzt über A1, (sein eigenes privates), A2(sein eigenes öffentliches) und eine Kopie von B2(Client's Public)
Der Kunde hat jetzt B1, (sein eigenes Privat), B2(sein eigenes Publikum) und eine Kopie von A1(Server ist öffentlich)

Client-zu-Server-Kommunikation:
Client verwendet A2 (Server Public Key) zum Verschlüsseln der für den Server gebundenen Nachrichten, Server entschlüsselt sie mit A1 (Server Private Key)

Server-zu-Client-Kommunikation:
Server verwendet B2 (öffentlicher Schlüssel des Clients) zum Verschlüsseln der für den Client gebundenen Nachricht. Client entschlüsselt sie mit B1 (privater Schlüssel des Clients).

In Bezug auf die Dateitypen .CER und .PFX verfügt der Server über eine eigene .PFX-Datei, die nicht außerhalb Ihrer Organisation verteilt werden sollte. Stattdessen sollten Sie die .CER-Datei an Clients verteilen.

weitere Informationen finden Sie hier:
https://www.digicert.com/ssl-cryptography.htm

und hier:
https://serverfault.com/questions/107433/why-does-a-ssh-public-key-sit-on-the-server-and-not-with-the-client

1
TurnerOC

Nach meiner Erfahrung (es ist nicht so groß, wie ich es mir gewünscht habe) verwende ich eine pfx-Datei, wenn ich die https-Bindung auf einem IIS -Server konfiguriere (da dieser sowohl den öffentlichen als auch den privaten Schlüssel enthält, sind Sie in Ordnung (diese Datei), ist eine Cer-Datei (meistens) nur der öffentliche Teil des Schlüsselpaares, und Sie müssen sie in Verbindung mit einer .key-Datei verwenden, wenn Sie den SSL-Verkehr auf einem Nginx- oder Apache-Server konfigurieren.

Nach meinem Verständnis gibt es keine harten Gründe mehr, das eine oder das andere zu verwenden,

0
Juan Sebastian

Wie bereits erwähnt, handelt es sich bei dieser Frage um Äpfel und Orangen, da die cer-Datei nur der öffentliche Schlüssel ist, die pfx-Datei jedoch sowohl öffentliche als auch private Schlüssel enthält.

Eine fairere Frage wäre also, wann Sie eine pfx-Datei anstelle einer Pem-Datei verwenden möchten. In Anbetracht der Tatsache, dass pfx-Dateien als zu komplex kritisiert wurden, könnte eine angemessene Antwort auf Ihre zweite Frage lauten: Sie möchten eine pfx-Datei nur dann verwenden, wenn Sie IIS ausführen und ihre Konfiguration absolut nicht zulässt Sie verwenden etwas anderes.

Quelle: https://en.wikipedia.org/wiki/PKCS_12 (Referenzierte Fußnote ist ein Artikel von Peter Gutmann.)

0
chaosmind