Vytvorenie SSL certifikátu

 

SSL certifikáty zabezpečujú dve hlavné funkcie: šifrovanie dátových prenosov medzi prehliadačom návštevníka a serverom a potvrdenie identity hostingu. SSL certifikát je vhodný pre akúkoľvek stránku, ktorá internetom prenáša citlivé údaje - osobné údaje, čísla kreditných kariet apod.

 

EASY MODE


Websupport ponúka možnosť zakúpenia SSL certifikátu, kedy celý proces prebehne bez akejkoľvek nutnosti zásahu z vašej strany. Pri objednávke stačí zadať názov domény, pre ktorú má byť certifikát vystavený a po zaevidovaní platby v priebehu pár hodín nainštalujeme certifikát k zvolenej doméne.

 

Vytvorenie SSL certifikátu vo vlastnej réžii


Pre vlastnoručné vytvorenie SSL certifikátu potrebujeme utilitu openssl. V takmer všetkých Linuxových distribúciách bude táto utilita už nainštalovaná, inštalátor pre Windows je možné stiahnuť odtiaľto.

 

Vygenerovanie privátneho kľúča a CRS


Privátny kľúč spolu s CSR (certificate signing request) vygenerujeme nasledovným príkazom:

 

openssl req -out server.csr -new -newkey rsa:2048 -nodes -keyout server.key

 

(Parameter rsa:2048 hovorí o použitom šifrovacom algoritme a dĺžke privátneho kľúča.)

 

Tento príkaz sa nás postupne spýta sériu otázok o prevádzkovateľovi stránky. Väčšina položiek nie je povinná, ale certifikačné autority zvyknú trvať minimálne na správne vyplnenom štáte a meste. Pokiaľ niektoré pole vynecháte, OpenSSL ho vyplní obsahom v hranatých zátvorkách.

 

Country Name (2 letter code) [AU]:SK
State or Province Name (full name) [Some-State]:Slovak Republic             
Locality Name (eg, city) []:Bratislava
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Interweby s.r.o.         
Organizational Unit Name (eg, section) []:  
Common Name (e.g. server FQDN or YOUR name) []:mojastranka.sk
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

 

Najdôlešitejšie pole je Common Name, ktoré hovorí o presnom doménovom názve, pre ktorý bude certifikát platiť. Bežný (nie wildcard) certifikát platí presne pre jeden tvar doménového názvu, a tak certifikát vydaný pre mojastranka.sk nebude platný napríklad pre blog.mojastranka.sk. Väčšina certifikačných autorít pri vystavení certifikátu pre mojadomena.sk automaticky do rozsahu platných adries zahrnú aj tvar www.mojadomena.sk, ale je vhodné si to najskôr overiť.

 

Pre vytvorenie CSR pre wildcard certifikát vyplníme Common Name v tvare *.mojastranka.sk

 

Takmer na konci sa OpenSSL spýta, či chceme privátny kľúč chrániť heslom. V tomto prípade ochrana heslom skôr škodí: pri každej zmene konfigurácie a následnom reštarte webového serveru by bolo nutné toho heslo opakovane zadávať. V prostredí zdieľaného hostingu nie je možné heslom chránené privátne kľúče pouziť.

 

Ak ste vygenerovali privátny kľúč s heslom, je možné ho “odheslovať” pomocou:

 

openssl rsa -in server.key -out odomknuty_server.key

 

Získanie SSL certifikátu od certifikačnej autority


CSR je po vygenerovaní nutné zaslať na certifikačnej autorite (CA), ktorá ho za poplatok digitálne podpíše. Pri preberaní certifikátu vám CA ponúkne na výber viacero formátov v ktorých sa dá certifikát stiahnuť, zo zoznamu vyberte Apache2 (mod_ssl).

 

V niektorých prípadoch CA tiež poskytne na stiahnutie tzv. intermediate certifikát (tiež nazývaný certificate chain alebo bundle). Tento stiahnite tiež.

 

Intermediate certifikát hovorí o vzťahu medzi vami vybranou CA a jej nadradenými CA. V niektorých prípadoch (zväčša ide o mobilné browsery) nemusí váš browser danú CA poznať, a bez intermediate certifikátu by váš certifikát vyhodnotil ako nedôveryhodný.

 

Vygenerovanie tzv. Self-signed certifikátu


Vytvorenie vlastného (“self-signed”) certifikátu je rýchla a finančné nenáročná (= zadarmo) možnosť ako pridať SSL šifrovanie pre svoje testovacie alebo neverejné aplikácie. Certifikát tak bude síce chrániť všetky prenášané dáta šifrovaním, ale návštevníkov stránky bude prehliadač varovať o nedôveryhodnom certifikáte.

 

Príkaz pre vytvorenie self-signed certifikátu je nasledovný:

 

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

 

TROUBLESHOOTING


V prípade, že pri pokuse o nainštalovanie certifikátu dochádza ku chybe, uistite sa že používate správny pár kľúča a certifikátu. V prípade správneho páru by mal byť výstup týchto dvoch príkazov identický:

 

openssl x509 -in server.crt -noout -modulus | openssl md5
(stdin)= b2f47cdbc8fb6c1b4b1e7a884bff3ced
openssl rsa -in server.key  -noout -modulus | openssl md5
(stdin)= b2f47cdbc8fb6c1b4b1e7a884bff3ced

 

 

 

Ste hladní po ďalších informáciách? Pozrite si: