Vlastní CA (certifikační autorita)

(CentOS 5)

Úprava konfiguračního souboru

V konfiguračním souboru /etc/pki/tls/openssl.cnf nastavíme cesty (k adresáři a souborům veřejného/privátního klíče CA), pravidla policy a výchozí velikost klíčů:

dir            = /etc/pki/CA
certificate    = $dir/CA.crt
private_key    = $dir/private/CA.key
policy         = policy_anything
default_bits   = 2048

V sekci [ req_distinguished_name ] lze nastavit výchozí údaje (nazev_default) uvedené při generování certifikátů.

Vytvoření CA

Vytvoření potřebných adresářů certs, crl, newcerts, private* podle konf. souboru openssl.cnf:

cd /etc/pki/CA
mkdir certs crl newcerts

*Adresář private je v balíku openssl (CentOS 5) již obsažen. Pokud chybí, vytvoříme ho s omezenými přístupovými právy:

mkdir -m 700 private

V adresáři CA je třeba vytvořit 2 soubory index.txt (database index file) a serial s hodnotou sériového čísla certifikátu (automaticky inkrementováno):

touch index.txt
echo 01 > serial

Vygenerování privátního klíče (použít silné heslo) a veřejného certifikátu CA (platnost 10 let):

openssl req -new -x509 -days 3653 -extensions v3_ca -keyout private/CA.key -out CA.crt

Omezení přístupových práv k privátnímu klíči CA:

chmod 400 private/CA.key

Žádost o podepsání certifikátu

Vytvoření privátního klíče s žádostí o podepsání certifikátu:

openssl req -new -nodes -keyout domena.key -out domena.csr

Vytvoření žádosti o podepsání existujícího certifikátu resp. klíče (domena.key):

openssl req -new -key domena.key -out domena.csr

Poznámka: Pro generování klíčů, certifikátů i požadavků lze (místo příkazu openssl req) použít interaktivní utilitu genkey (součást crypto-utils), která pomocí truerand library generuje náhodná data pro privátní klíč.

Podepsání a revokace certifikátu

Podepsání požadavku certifikační autoritou (platnost 2 roky):

openssl ca -days 731 -in domena.csr -out domena.crt

Revokace certifikátu (01.pem = "sériové číslo certifikátu".pem):

openssl ca -verbose -revoke /etc/pki/CA/newcerts/01.pem

Napsat komentář

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