Používáme OpenSSL – příprava certifikační autority

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_na­me ]. 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.

Napsat komentář

Vaše emailová adresa nebude zveřejněna.