Die SSL-Zertifikatdatei ist eine Sperre.
Die SSL-Zertifikatschlüsseldatei ist ihr Schlüssel.
Das Zusammenhalten der beiden entspricht dem Aufkleben Ihres Schlüssels auf das Schloss an Ihrer Haustür.
Wenn ein Angreifer die einzelne Datei kompromittiert, verfügt er über alles, was er benötigt, um sich erfolgreich als Ihre Website auszugeben (das Zertifikat und den privaten Schlüssel).
Dies gilt insbesondere dann, wenn Ihr SSL-Schlüssel keine Passphrase enthält (viele Webserver tun dies nicht, damit sie im Falle eines Absturzes automatisch gestartet werden können).
Was Sie durch das Trennen der Dateien verteidigen, ist ein Apache-Fehler, der dazu führt, dass der Inhalt von SSLCertificateFile
(etwas, das öffentlich verfügbar sein sollte) an einen Webclient ausgegeben wird.
(Meines Wissens existiert kein solcher Fehler oder hat jemals existiert, aber Apache ist eine große, komplexe Software. Es ist durchaus möglich.)
Wenn Apache diese Datei speichert und nur das SSL-Zertifikat (die Sperre) enthält, gibt es kein Problem: Jeder erhält eine Kopie dieses Zertifikats, wenn er eine SSL-Anfrage an den Server stellt.
Wenn die Datei auch den Schlüssel enthält, haben Sie keine Chance auf Sicherheit - Ihr gesamtes Verschlüsselungsmodell ist gefährdet, und Sie müssen die Schlüssel ändern.
Für alte Versionen von OpenSSL waren zwei separate Dateien erforderlich (öffentlich und privat). Alte Versionen anderer Krypto-Engines erforderten eine einzelne Datei (beide in derselben Datei). Im Geiste der Kompatibilität (auch bekannt als "Admin, der sich über die Inkonsistenz lustig macht und zwei Sätze von Zertifikaten pflegen muss") unterstützen die meisten jetzt beide.
Das Speichern beider Zertifikate (auch der Schlüsselkette) in einer einzigen Datei wird nicht empfohlen, da die verschiedenen Zertifikate unterschiedliche Bereiche haben. Es handelt sich eher um ein Konsistenzproblem als um ein technisches Problem, bei dem das öffentliche Zertifikat über öffentlich lesbare Dateiberechtigungen verfügen sollte und umgekehrt für private. Es besteht keine Gefahr, Ihr öffentliches Zertifikat auf Ihren Systemen unter Verschluss zu halten. Es entspricht lediglich seinem Zweck.
quelle