Wybór certyfikatu SSL na podstawie nagłówka hosta: czy to możliwe?


17

Czy serwer WWW może wybrać certyfikat SSL do użycia na podstawie nagłówka hosta połączenia przychodzącego, czy te informacje są dostępne dopiero po ustanowieniu połączenia SSL?

To znaczy, czy mój serwer może być wymieniony na porcie 443 i użyć certyfikatu foo.com, jeśli zażądano https://foo.com , oraz certyfikatu bar.com, jeśli zażądano https://bar.com lub czy próbuję to zrobić coś niemożliwego, ponieważ serwer musi ustanowić połączenie SSL, zanim będzie wiedział, czego chce klient?

Odpowiedzi:


23

Historycznie twoje pierwsze stwierdzenie jest dokładne. Teraz istnieje wiele opcji:

  • Certyfikat wieloznaczny, jeśli poddomeny w tej samej domenie.
  • Certyfikat SAN / UCC określający alternatywne nazwy certyfikatu, umożliwiający w ten sposób obsługę wielu certyfikatów.
  • SNI zostało wprowadzone w celu ustanowienia połączenia SSL po nagłówku hosta. Ma to jednak ograniczone wsparcie, ponieważ jest nowsze.

Odpowiedzi na to wielokrotnie udzielał na ServerFault ja i inni. Proponuję poszukać dalszych szczegółów, chyba że masz konkretne pytanie.


4
Poszedłem szukać i nic nie mogłem znaleźć; jest to prawdopodobnie jedna z tych rzeczy, które można łatwo wyszukać tylko wtedy, gdy znasz odpowiedź, dzięki czemu możesz uwzględnić ją w wyszukiwanych hasłach. Dzięki.
DrStalker

3
Jeśli istnieją odpowiedzi na ServerFault, fajnie byłoby połączyć się z nimi.
organicveggie

serverfault.com/search , @organicveggie.
Warner

3
SNI nie ustanawia połączenia SSL po nagłówku hosta, ale zawiera nazwę hosta w uzgadnianiu SSL. Nie ma znaczenia, że ​​nie jesteś programistą SSL.
Bart van Heukelom

Przeszukanie błędu serwera daje odpowiedź. Oznacza to, że kanonicznie wszelkie inne pytania są duplikatami tego pytania. Że związek ty zawarte nie ma wyników.
Ian Boyd


3

Krótka odpowiedź: nie

HTTP jest enkapsulowany w SSL , więc wszelkie informacje o żądaniu są niedostępne do momentu nawiązania połączenia. Dlatego dopóki klient nie otrzyma certyfikatu . Nie ma możliwości korzystania z nagłówków ani innych zaszyfrowanych informacji, ponieważ są one nadal niedostępne.

EDYCJA: jest to prawdą, jeśli chcesz obecnie być w wielu przeglądarkach i w pełni przenośny. Jak powiedzieli inni, pojawiły się nowe metody, które umożliwią to w najbliższej przyszłości.


1

czy te informacje są dostępne dopiero po ustanowieniu połączenia SSL?

Poprawny. Połączenie SSL jest ustanawiane przed wysłaniem dowolnej części żądania HTTP (łącznie z nagłówkiem hosta).


2
To nie jest już w pełni dokładne.
Warner
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.