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.
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
Okomentovat