Was ist der Unterschied zwischen .pfx
und .cert
Zertifikatdateien?
Verteilen wir .pfx
oder .cert
für die Clientauthentifizierung?
Kommentare
Antwort
Es gibt zwei Objekte: den privaten Schlüssel , den der Server besitzt , hält geheim und verwendet, um neue SSL-Verbindungen zu empfangen; und der öffentliche Schlüssel , der mathematisch mit dem privaten Schlüssel verknüpft und „öffentlich“ gemacht wird: Er wird als Teil der ersten Schritte der Verbindung an jeden Client gesendet.
Der Zertifikat ist nominell ein Container für den öffentlichen Schlüssel. Es enthält den öffentlichen Schlüssel, den Servernamen, einige zusätzliche Informationen zum Server und eine Signatur, die von einer Zertifizierungsstelle (CA) berechnet wurde. Wenn der Server seinen öffentlichen Schlüssel an einen Client sendet, sendet er tatsächlich sein Zertifikat mit einigen anderen Zertifikaten (das Zertifikat, das den öffentlichen Schlüssel der Zertifizierungsstelle enthält, die das Zertifikat signiert hat, und das Zertifikat für die Zertifizierungsstelle, die die Zertifizierungsstellen signiert hat) Zertifikat usw.) Zertifikate sind an sich öffentliche Objekte.
Einige Leute verwenden den Begriff „Zertifikat“, um sowohl das Zertifikat als auch den privaten Schlüssel zu bezeichnen. Dies ist eine häufige Quelle der Verwirrung. Ich persönlich halte mich an Die strikte Definition, für die das Zertifikat nur der signierte Container für den öffentlichen Schlüssel ist.
Eine .pfx
-Datei ist eine PKCS # 12-Archiv : Eine Tasche, die viele Objekte mit optionalem Kennwortschutz enthalten kann. In der Regel enthält ein PKCS # 12-Archiv jedoch ein Zertifikat (möglicherweise mit verschiedenen CA-Zertifikaten) und den entsprechenden privaten Schlüssel.
Andererseits eine .cert
(oder .cer
oder
) Datei enthält normalerweise ein einzelnes Zertifikat, allein und ohne Umbruch (kein privater Schlüssel, kein Passwortschutz, nur das Zertifikat).
Kommentare
- Während der Clientauthentifizierung muss das SSL-Clientzertifikat im Clientbrowser installiert sein. Handelt es sich um eine PFX-Datei oder eine CERT-Datei?
- Zertifikate sind öffentliche Daten. jeder hat sie. Bei der Clientauthentifizierung geht es jedoch darum, dass der Client etwas tut, was nur dieser Client kann. Der Client muss also etwas wissen, das nicht öffentlich ist, und das ‚ ist der private Schlüssel. Daher muss der Client einen privaten Schlüssel zusammen mit seinem Zertifikat haben. Wenn der Schlüssel aus dem Client-Browser generiert wurde, besteht die erwartete Einrichtung darin, ihn zusammen mit dem Zertifikat in den Client zu importieren. Daher eine PFX-Datei.
- Ich habe eine PFX-Datei vom IIS-Server, auf dem mein Zertifikat installiert ist. Ist dies die PFX-Datei, die verteilt werden soll? Da CA eine .cert-Datei mit Schlüsseln bereitgestellt hat, die auf dem Server installiert wurde.
- @ Xsecure123 no; Es gibt hier zwei Szenarien ‚ – und Thomas antwortete nur für die Clientauthentifizierung (wobei jeder Client ‚ sein eigenes privates Zertifikat hat) ihre eigene Identität beweisen). – Es hört sich so an, als würden Sie ‚ etwas anderes tun – es klingt so, als würden Sie ‚ ein selbstsigniertes Zertifikat in IIS verwenden und Die Kunden ‚ vertrauen ihm nicht. – In diesem Fall sollten Sie den Clients eine CER-Datei vom Server geben. – weil die Clients nur den öffentlichen Schlüssel benötigen, um dem Server zu vertrauen. – Wenn sie auch über den privaten Schlüssel verfügen, können sie sich als Server ausgeben oder den Datenverkehr ‚ und den ‚ entschlüsseln nicht etwas, das Sie wollen.
- @ BrainSlugs83: Was meinen Sie mit privatem Zertifikat? Thomas erwähnte, dass Zertifikate öffentliche Daten sind. Können Sie das bitte näher erläutern?
Antwort
Ich weiß, dass dies ein Jahr alter Thread ist, aber für zukünftige Leser Wie oben erwähnt, nein, Sie verteilen die PFX-Datei nicht, da dies die Datei ist, die den privaten Schlüssel enthält. Sie können das Zertifikat (das öffentlich ist) aus der PFX-Datei mit der hier beschriebenen Methode extrahieren und verteilen: https://stackoverflow.com/questions/403174/convert-pfx-to-cer
Kommentare
- Wo sollten Sie die pfx-Datei sicher auf dem Server speichern? Natürlich würden Sie ‚ keine andere Anwendung mit Ihrer PFX-Datei wünschen, aber ich glaube nicht, dass ich ‚
möchte es auch mit meiner Anwendung speichern.Würden Sie es einfach in den Maschinenzertifikatsmanager importieren und programmgesteuert darauf zugreifen?
Antwort
Was ist der Unterschied zwischen .pfx- und .cert-Zertifikatdateien?
Die Antwort, die @Thomas Pornin gegeben hat, ist ziemlich gut.
Verteilen wir .pfx oder .cert für die Clientauthentifizierung?
Das hängt vom verwendeten Prozess ab.
Der typische Prozess zum Einrichten eines externen Clients zur Authentifizierung mithilfe eines Zertifikats lautet wie folgt: 1) Der Client generiert ein asymmetrisches Schlüsselpaar (öffentliche und private Schlüssel). 2) Der Client generiert eine Zertifikatsignierungsanforderung für den öffentlichen Schlüssel und sendet diese an den Server. 3) der Server signiert den öffentlichen Schlüssel und gibt diese Signatur (das Zertifikat “ „) an den Client zurück; 4) Der Client speichert den privaten Schlüssel zusammen mit diesem Zertifikat in seinem Schlüsselspeicher. Wenn der Client eine Verbindung zum Server herstellt, wird das Zertifikat angezeigt und der Client authentifiziert.
Im obigen Szenario wird eine “ .cert “ wird an den Client zurückgesendet.
Intern führen viele Organisationen diesen Prozess für ihre Mitarbeiter durch. In dieser Situation tritt Folgendes auf: Das IT-Personal generiert das öffentliche und private Schlüsselpaar für einen Mitarbeiter zusammen mit der Zertifikatsignierungsanforderung. Anschließend signieren sie den öffentlichen Schlüssel (unter Verwendung ihrer Berechtigung für private Zertifikate) und platzieren das resultierende Zertifikat zusammen mit dem entsprechenden privaten Schlüssel und allen CA-Zwischenzertifikaten (die “ -Zertifikatkette „) im Schlüsselspeicher des Benutzers.
In diesem Szenario wird eine “ .pfx “ (oder “ .pem „) wäre angemessen, da es alle für die Clientauthentifizierung erforderlichen Elemente enthält: das private Schlüssel, das Zertifikat und die Zertifikatkette.
Suchen Sie nach “ Automatische Registrierung von Zertifikaten “ nach einem Weg um diesen Prozess für Ihre Unternehmensbenutzer und -geräte zu automatisieren.