Ich stelle SSL-Seiten auf meinem Webserver bereit und habe eine Frage. Was ist der Unterschied zwischen SSLCACertificateFile und SSLCertificateChainFile?
Wenn ich SSLCertificateChainFile verwende, erhalte ich Warnungen vom japanischen Handybrowser, aber wenn ich einen PC-Browser (wie IE, FF) verwende, gab es kein Problem. Andererseits verursachte SSLCACertificateFile für beide Browser keine Probleme.
Gibt es einen Unterschied, wenn Browser eine Verbindung zu Apache herstellen?
Antworten:
SSLCertificateChainFile war die richtige Option, aber diese Anweisung wurde ab Apache 2.4.8 veraltet . Diese Anweisung hat dazu geführt, dass die aufgelistete Datei zusammen mit dem Zertifikat an alle Clients gesendet wurde, die eine Verbindung herstellen.
SSLCACertificateFile (im Folgenden "CACert") ersetzt SSLCertificateChainFile (im Folgenden "Chain") und ermöglicht zusätzlich die Verwendung des betreffenden Zertifikats zum Signieren von Client- Zertifikaten. Diese Art der Authentifizierung ist (zumindest im Moment) ziemlich selten, und wenn Sie sie nicht verwenden, gibt es meiner Meinung nach keinen Grund, ihre Funktionalität durch die Verwendung von CACert anstelle von Chain zu erweitern. Auf der anderen Seite könnte man argumentieren, dass die zusätzliche Funktionalität keinen Schaden anrichtet und CACert alle Fälle abdeckt. Beide Argumente sind gültig.
Wenn Sie den Zertifizierungsanbieter fragen, werden diese natürlich immer auf CACert over Chain drängen, da sie dadurch eine andere Sache (Kundenzertifikate) erhalten, die sie Ihnen möglicherweise später verkaufen können. ;)
quelle
Tatsächlich können beide gültige Optionen sein.
Verwenden Sie SSLCertificateChainFile, um Ihr von einer öffentlichen Zertifizierungsstelle (VeriSign, RapidSSL usw.) signiertes Zertifikat zu veröffentlichen.
Verwenden Sie SSLCACertificateFile, um Ihre "private" Zertifizierungsstelle bereitzustellen, die Clientzertifikate ausstellen kann, die Sie an einige ausgewählte Benutzer verteilen können. Diese
client
Zertifikate eignen sich hervorragend für die Authentifizierung (im Vergleich zur grundlegenden Kennwortauthentifizierung) und müssen normalerweise nicht von einer öffentlichen Zertifizierungsstelle verteilt werden (daher können Sie etwas Geld sparen).Wenn Sie also einem Teil Ihrer Website eine sichere Autorisierung hinzufügen möchten, gehen Sie folgendermaßen vor:
Nur zur kurzen Erläuterung
SSLUserName SSL_CLIENT_S_DN_CN
wird der authentifizierte Benutzername auf CommonName des Zertifikats im Vergleich zum gesamten Betreff x509 '/ OU = Foo / CN = ...' gesetzt.quelle