Geben Sie je nach Client-Fähigkeiten ein SHA-1- oder SHA-2-Zertifikat an

7

Da SHA1-Zertifikate von großen Browsern nicht mehr unterstützt werden , erscheint es ratsam, ein von SHA2 signiertes Zertifikat zu erhalten. Auf diese Weise sperren Sie jedoch IE6-Benutzer. Während dies für die meisten Menschen in einigen Fällen kein Problem darstellt, können wichtige Benutzer gesperrt werden.

Mit Blick auf den SSL-Handshake sendet der Client Details zu den unterstützten Funktionen.

Theoretisch könnte ein Server also ein Zertifikat senden, das der Client unterstützt. Neuere Browser erhalten einen SHA2-signierten und ältere SHA1.

Es sieht jedoch nicht so aus, als gäbe es Möglichkeiten, dies mit der Nginx-Konfiguration zu tun. Während Sie Versionen von Chiffren und Protokollen festlegen können, können Sie keine Logik haben, um zu bestimmen, wie Sie sich mit verschiedenen Client-Konfigurationen verhalten sollen.

Gibt es eine Möglichkeit, ein anderes Zertifikat zu bedienen, je nachdem, was der Client unterstützt?

Jeremy French
quelle
5
So wie diese großen Browser SHA-1 bei Sonnenuntergang unterstützen, sollten Sie es auch sein. Wenn Sie Benutzer haben, die von Ihrem Wechsel zu SHA-2 betroffen sind, sollten sie versuchen, ihre Browser zu aktualisieren oder auf eine Plattform zu wechseln, die SHA-2 nativ unterstützt.
Joeqwerty
Übrigens. Sie sperren nicht alle IE6-Benutzer. IE6 unter XP mit SP3 unterstützt dies.
Fälscher
3
Jeder, der noch XP ausführt, wird derzeit nicht unterstützt, und jeder, der noch XP ohne SP3 ausführt, ist absolut verrückt.
Michael Hampton
2
Der wahrscheinlich beste Schritt ist, die https-Unterstützung für sie zu beenden. Kann auch deutlich machen, dass sie sowieso nicht sicher sind. Ich würde dies mit User Agent Matching implementieren.
Melvyn
4
Sie sollten jetzt sowieso nicht einmal in der Lage sein, ein SHA-1-Zertifikat zu erwerben.
Cameron Kerr

Antworten:

1

Dies ist derzeit mit Nginx nicht möglich (obwohl es mit Apache ist). Es scheint jedoch, dass Unternehmen wie CloudFlare bereits ihre eigenen internen Modifikationen von nginx implementiert haben, um dies zu tun, und hoffentlich Open Sourcing für ihre Arbeit anbieten werden ( https://news.ycombinator.com/item?id=8276770 ) Ich hoffe / erwarte, dass Nginx diese Fähigkeit in einem Jahr haben wird, wenn der Bedarf dringender wird, wenn wir uns 2016 nähern.

In der Zwischenzeit habe ich gerade ein 1-Jahres-Zertifikat gekauft, das Ende 2015 abläuft, damit ich nicht von den Warnungen von Chrome getroffen werde, bis hoffentlich eine Funktion wie diese herauskommt.

Mohamed Hafez
quelle
1
Wirklich, wie würden Sie das in Apache tun?
Cameron Kerr
2
Ich habe es nie selbst gemacht, aber hier ist ein Blog-Beitrag, der ausführlich
Mohamed Hafez