Digitální certifikáty pomocí OpenSSL

Digitální certifikáty pomocí OpenSSL

Není to návod, je to taková ukázka vytvoření certifikátů. Jména a údaje jsou pouze příklady.

Vytvoříme privátní klíč

openssl genrsa -out privkey.pem 2048

Vytvoříme certifikační autoritu. Její pomocí digitálně podepisujete každý certifikát, který chcete používat.

Soubor žádosti o certifikát (CSR).
 
openssl req -passout pass:heslo -subj "/C=CZ/ST=Czech Republic/L=Tlumacov/O=phnetwork/OU=phnetwork server/CN=phnetwork certifikacni server CA/emailAddress=info@phnetwork.cz" -new > phnetwork.ca.cert.csr


Parametr -subj popisuje uživatele certifikátu. Zadejte hodnoty, které budou certifikát popisovat.


Country Name[CZ]: Název státu velkými písmeny dle normy ISO
State or Province Name[]: Czech Republic
Locality Name[]: Město, kde máte sídlo.
Organization Name[]: Název organizace či osoby žádající o certifikát
Organizational Unit Name[]: Název organizační jednotky či oddělení
Common Name[]: Nejdůležitější údaj - jméno pro které bude certifikát vystaven.
Email Address[]: E-mailová adresa



Vytvoříme soubor s klíči phnetwork.ca.key pro uložení soukromého klíče.

openssl rsa -passout pass:heslo -in privkey.pem -out phnetwork.ca.key

Pomocí parametru -passin můžeme odebrat heslo, takže nebudete muset zadávat heslo po každém podepsání certifikátu. To samozřejmě sebou nese rizika.

Vytvoříme digitální certifikát X.509 ze žádosti o certifikát. Certifikát je podepsaný soukromým klíčem CA.

openssl x509 -in phnetwork.ca.cert.csr -out phnetwork.ca.cert -req -signkey phnetwork.ca.key -days 730

Vytvoříme soubor s kódováním PKCS#12 obsahující certifikát a soukromý klíč.

openssl pkcs12 -passout pass:heslo -export -nokeys -cacerts -in phnetwork.ca.cert -out phnetwork.ca.cert.p12 -inkey phnetwork.ca.key

Tím jsme vytvořili certifikát CA (phnetwork.ca.cert.p12), který lze nainstalovat na server a soukromý soubor s klíči (phnetwork.ca.key) kterým můžete podepisovat uživatelské certifikáty.


Vytvoříme žádost o certifikát pro uživatele

openssl req -passout pass:heslo -subj "/C=CZ/ST=Czech Republic/L=Tlumačov/O=phnetwork/OU=phnetwork tester/CN=Pavel Hošek/emailAddress=pavel.hosek@phnetwork.cz" -new > pavelhosek.cert.csr 


Vytvoříme soukromý soubor s klíči bez hesla

openssl rsa -passin pass:heslo -in privkey.pem -out pavelhosek.key

Vytvoříme ze žádosti pro nového uživatele certifikát X.509, pomocí soukromého klíče daného uživatele je podepíšeme a certifikujte jej pomocí soukromého klíče CA.

openssl x509 -req -in pavelhosek.cert.csr -out pavelhosek.cert -signkey pavelhosek.key -CA phnetwork.ca.cert -CAkey phnetwork.ca.key -CAcreateserial -days 730


Vytvoříme souboru kódovaný pomocí PKCS#12

openssl pkcs12 -passout pass:heslo -export -in pavelhosek.cert -out pavelhosek.cert.p12 -inkey pavelhosek.key

A můžeme použít uživatelský certifikát - pavelhosek.cert.p12



Komentáře

Populární příspěvky z tohoto blogu

Diskové pole NSS4000

Windows server 2012 – certifikační autorita

Reset switche SPS224G4