Jak vytvořit SSL certifikát pro server využívající více doménových jmen?

Často provozujeme na jednom serveru více domén. Server má pak i více DNS jmen (např. mail.firma.cz, mail.firma2.cz). DNS jména odkazují na stejnou IP adresu. Pokud používáme nešifrované spojení, pak je vše v pořádku. V opačném případě však narazíme na problém. Uživatel z domény firma2.cz se nemůže přihlašovat k mail.firma2.cz aniž by mu poštovní program či prohlížeč nahlásil chybu v certifikátu (nesouhlasí jméno serveru s certifikátem). Tento problém se dá řešit přiřazením více IP adres jednomu serveru. Každá doména pak„běží“ na jiné adrese. Podmínkou ovšem je, aby tuto možnost podporoval i příslušný serverový software (mailserver, webserver). Nevýhoda tohoto řešení spočívá ve zbytečné plýtvání s přidělenými adresami. Řešením je certifikát, který bude obsahovat více DNS jmen. Drtivá většina návodů a postupů na internetu pro OpenSSL počítá pouze s jedním DNS jménem (tzv. CommonName). My se zaměříme na jeho další možnosti. 
 
Nejprve nainstalujeme OpenSSL: 
 
sudo apt-get install openssl
 
Dále si stáhneme skript csr.sh, skript spustíme následujícím způsobem: 
 
sh csr.sh
 
Vyplníme název serveru, skutečné doménové jméno a libovolný počet alternativních doménových jmen. Pokud již nechceme přidávat další alternativní jména, ukončíme skript zadáním prázdného řádku. Nyní se nám v domovském adresáři vytvořily dva soubory (např. firma_csr.pem, firma_privatekey.pem). První soubor obsahuje požadavek na vystavení certifikátu pro certifikační autoritu (tzv. certificate request) a druhý privátní klíč. Požadavek předáme konkrétní certifikační autoritě např. CAcert, která nám vystaví certifikát. Certifikát spolu s privátním klíčem nakopírujeme na serveru a nestavíme patřičně v konkrétním softwaru. 
 
Odkazy: http://adam.shand.net/iki/2007/The_Easy_Way_To_Generate_OpenSSL_CSRs_with_subjectAltNames/ https://wiki.uugrn.org/UUGRN:Jails/satellite/SSL_SubjectAltName/csr.sh