V tomto článku je podrobně popsán postup zprovoznění certifikační autority s využitím OpenSSL.V článku bezprosstředně následujícím popíšu postup přípravy požadavku na certifikát, vytvoření certifikátu certifikační autoritou a postup jeho odvolání. Pokud již máte funkční certifikační autoritu a pořebujete návod na nahrazení a odvolání certifikátu, čtěte článek Používáme OpenSSL – příprava a odvolávání certifikátů.
Konfigurace openssl.cnf
OpenSSL používá konfigurační soubor openssl.cnf. Na většině distribucí je umístěn v adresáři /etc/ssl/, na novějších distribucích RedHatu se nachází v adresáři /etc/pki/tls/.
Sekce [ ca ] (certifikační autority)
- default_ca – Jméno výchozí certifikační autority
Sekce [ CA_default ]
Obsahuje nastavení výchozí certifikační autority, zejména, kde jsou uloženy její soubory. Důležitým nastavením je adresář. V něm a jeho podadresářích jsou všechny soubory s certifikační autoritou související. Nové certifikáty se ukládají v adresáři newcerts, v adresáři private je klíč certifikační autority, certifikát je přímo v kořenovém adresáři CA. Adresář private se doporučuje chránit pro čtení i zápis proti všem, kromě superuživatele serveru. K obsluze certifikační autority potřebujete při tomto nastavení práva superuživatele.
Dále asi budete chtít změnit počet dní, na které se certifikát podepisuje (default_days), v tomto příkladu na 5 roků:
default_days = 1826
Doporučuji nastavit politiku (policy) na volnou:
policy = policy_anything
Pokud ponecháte výchozí nastavení, bude se vám certifikační autorita podepisování bránit. A bude mít řadu pro vás naprosto nepodstatných požadavků.
Význam jednotlivých politik spočívá v tom, jak přísné jsou na jednotlivé položky, jejich definice najdete pod položkou policy.
Důležitá je rovněž sekce [ req_distinguished_name ]. V ní se nastavují jména jednotlivých údajů a co se bude zobrazovat jako výchozí hodnota k nastavení při vytváření certifikátů. Takže pokud si v této sekci nastavíte vhodné hodnoty (jméno organizace a adresu, aj.), nebudete je muset při vytváření certifikátů opakovaně vypisovat, ale jen stisknete klávesu Enter pro potvrzení výchozí možnosti. U některých (například email) není nastavení výchozí hodnoty v základní konfiguraci SSL uvedeno, ale je možné je explicitně nastavit podle následujícího příkladu:
emailAddress_default = admin@aacomputer.cz
Příprava pracovního prostředí pro certifikační autoritu
Nejprve v adresáři pro certifikační autoritu ( v příkladu CA) vytvoříme potřebné podadreasáře (certs crl newcerts private). Vytvoříme prázdný soubor index.txt a soubor serial a crlnumber s obsahem 00 pro sériová čísla certifikátů a čísla revokačních certifikátů:
# mkdir /etc/pki/tls/CA # echo "00" > /etc/pki/tls/CA/serial # echo "00" > /etc/pki/tls/CA/crlnumber # touch /etc/pki/tls/CA/index.txt # mkdir /etc/pki/tls/CA/certs # mkdir /etc/pki/tls/CA/crl # mkdir /etc/pki/tls/CA/newcerts # mkdir /etc/pki/tls/CA/private # chmod 700 /etc/pki/tls/CA/private
Projdeme konfigurační soubor openssl.cnf a zkontrolujeme, zda jsou všechna nastavení v pořádku. Výše uvedený postup jsme aplikovali na CentOS 5 ke zprovoznění certifikační autority v adresáři /etc/pki/tls/CA. V případě změn oproti tomuto nastavení musíte, přirozeně, cesty upravit.
Generování certifikátu certifikační autority
Poté již můžeme vygenerovat certifikát samotné certifikační autority:
# openssl req -new -x509 -nodes -out \ ca-certifikat.crt -keyout ca-klic.pem -days 1826
Parametry příkazu
- req – budeme pracovat s certifikační žádostí
- -new – žádost nebudeme načítat ze souboru, ale vytvoříme novou
- -x509 – nebude se vytvářet certifikační požadavek, ale přímo certifikát podepsaný sám sebou
- -nodes – soukromý klíč nebude zašifrován
- -out ca-certifikat.crt – certifikát zapsaný do uvedeného souboru
- -keyout ca-klic.pem – klíč zapsaný do uvedeného souboru
- -days 1826 – certifikát má platnost 5 roků
Instalace certifikátu certifikační autority na straně klienta
Aby byly podepsané certifikáty považovány klienty za důvěryhodné, je třeba certifikát autority importovat klientům jako kořenový certifikát. Po dvojkliku na ca-certifikat.crt nám Windows nabídnou průvodce instalaci certifikátu.
Certifikát je vhodné předávat zabezpečeným kanálem, aby nebylo možné podvržení falešného certifikátu.
A to je pro vše. Těším se na vaše komentáře.