SNI (reloaded)

Nu a trecut mult timp de la publicare articolului despre SNI asta fara sa fi testat inainte Slackware 13. Intradevar Slackware 13 suporta SNI (Servier Name Indicator) out-of-the-box: doar ce am pus certificatele create in cadrul acelui mic tutorial si voila … functioneaza. Slackware 13 vine cu OpenSSL versiunea 0.9.8k si Apache2 2.2.13.

SNI (Server Name Indicator)

Intr-un final a fost inclusa aceasta functionalitate in openSSL si este compilata standard incepand cu versiunea 0.9.8l. Aceasta extensie permite ssl-ului ca in momentul in care se face peering-ul de sesiune HTTPS sa fie transmis si numele de domeniu pentru care se face cererea HTTP. Astfel fiecare virtualhost poate avea propriul certificat si aceasta va fi trimis corect browserului spre autentificare. Pana in acest moment nu puteau fi tinute 2 site-uri cu openSSL folosind aceeasi adresa ip pentru conectare ci doar un modul de testare ce foloseste gnuTLS.

Pentru testare am folosit openssl-0.9.8l si ultima versiune de apache-2.2.14 avand modulul ssl built-in (–enable-ssl), astfel:

  1. compilare openssl:
    1. ./config –prefix=/opt/openssl.l
  2. compilare apache2:
    1. ./configure –prefix=/opt/httpd –enable-ssl –with-ssl=/opt/openssl.l
  3. configurare apache2:
    1. configurare 2 virtualhost-uri ssl in /opt/httpd/conf/extra/httpd-ssl.conf
      1. vhost1.doraz.local cu certificat avand CN  vhost1.doraz.local
      2. vhost2.doraz.local cu certificat avand CN  vhost2.doraz.local
    2. start apache:
      1. /opt/httpd/bin/httpd

Am testat ambele host-uri cu un browser si obtin certificatele corecte (fara eroare de certificat pentru nici unul din domenii).