Certificatele SSL au o cerere ridicata in prezent. Peisajul criptarii s-a schimbat dramatic de cand Google a lansat campania „HTTPS Everywhere”. Mai intai, a fost acordat un impuls SEO ca stimulent pentru instalarea certificatelor digitale, iar mai tarziu, Chrome a facut HTTPS obligatoriu pentru toata lumea. Daca nu utilizati un certificat SSL, browserele populare, cum sunt Chrome si Firefox, vor marca site-ul dvs. ca fiind Not Secure.
Implementarea corecta a SSL este cruciala pentru securitatea si succesul unui site web. Si, cu atat de multi proprietari de situri web care afla despre SSL pentru prima data, este important sa dotati aceste certificate cu toate instrumentele si utilitatile necesare. Un astfel de instrument este OpenSSL.
Ce este SSL?
Protocolul SSL (Secure Socket Layer) a aparut ca urmare a necesitatii de a asigura conexiuni sigure in Internet, in stiva de protocoale fiind situat intre nivelul TCP si nivelul aplicatie. Protocolul asigura autentificarea mutuala a celor doua entitati care comunica, confidentialitatea comunicarii si protectia integritatii datelor. Una dintre cele mai des intalnite aplicatii ale SSL-ului este HTTPS (HTTP securizat), care consta din protocolul HTTP utilizat peste SSL.
SSL si conexiunile securizate pot fi folosite pentru orice tip de protocol pe Internet, HTTP, POP3 sau FTP. SSL poate fi folosit si pentru a securiza sesiuni de Telnet. Orice tip de conexiune poate fi securizat in teorie folosind SSL, dar ar trebui sa fie folosit numai pentru conexiuni care vor folosi date ce trebuie protejate.
Ce este OpenSSL?
Open SSL este o biblioteca criptografica care ofera aplicatii open source ale protocolului TLS. Lansat pentru prima data in 1998, este disponibil pentru sistemele Linux, Windows, macOS si BSD.
OpenSSL ofera mai mult decat SSL, fiind o biblioteca vasta de functii ce permite lucrul cu message digests, encriptari si decriptari de fisiere, certificate digitale, semnaturi digitale, generarea de chei private. De asemenea OpenSSL este nu numai un API, ci si un utilitar ce poate fi folosit din linia de comanda care prezinta aceleasi functionalitati expuse de API permitind in plus si testarea serverelor si a clientilor SSL.
Majoritatea distributiilor Linux sunt compilate cu OpenSSL in prealabil, dar daca sunteti pe un sistem Windows, il puteti obtine de aici.
De ce aveti nevoie de OpenSSL?
Cu OpenSSL, puteti aplica pentru certificatul dvs. digital (generarea CSR) si puteti instala fisierele SSL pe serverul dvs. De asemenea, puteti converti certificatul in diverse formate SSL, si puteti face toate tipurile de verificari.
Tot ce trebuie sa faceti este sa invatati cateva comenzi comune OpenSSL si, cu fiecare nou certificat, procesul de configurare va deveni mai rapid si mai usor. Intrucat nu toate serverele furnizeaza interfete de utilizator web pentru gestionarea SSL, pe unele platforme OpenSSL este singura solutie pentru importarea si configurarea certificatului.
Cum se utilizeaza OpenSSL?
OpenSSL poate fi utilizat din linia de comanda. Mai jos am reunit cateva comenzi comune OpenSSL pentru utilizatorii obisnuiti. Daca doriti sa studiati toate comenzile, accesati aceasta pagina pentru mai multe detalii.
– Verificarea versiunii OpenSSL
Este imperativ sa stiti ce versiune OpenSSL aveti, deoarece determina ce algoritmi si protocoale criptografice puteti utiliza. Puteti verifica versiunea OpenSSL ruland urmatoarea comanda:
openssl version –a
– Generarea CSR
Puteti utiliza OpenSSL pentru a crea codul CSR. CSR este un bloc de text codat cu date despre site-ul dvs. web si companie pe care trebuie sa il trimiteti Autoritatii de Certificare pentru aprobare. Cererea de emitere a certificatului necesita o cheie privata din care este creata cheia publica. Desi puteti utiliza o cheie existenta, este recomandat sa generati intotdeauna o cheie privata noua oricand creati un CSR.
– Generarea cheii private separat
Pentru a genera cheia privata, trebuie sa specificati algoritmul cheii, dimensiunea cheii si o parola optionala. Algoritmul cheie standard este RSA, dar puteti selecta, de asemenea, ECDSA pentru anumite situatii. Atunci cand alegeti un algoritm cheie, asigurati-va ca nu veti confrunta cu probleme de compatibilitate. In acest articol, vom arata doar modul de a genera o cheie privata prin algoritmul RSA.
Pentru dimensiunea cheii dvs., ar trebui sa alegeti 2048 biti atunci cand utilizati algoritmul cheie RSA si 256 biti atunci cand utilizati algoritmul ECDSA. Orice dimensiune de cheie mai mica decat 2048 nu este sigura, in timp ce o valoare mai mare poate incetini performanta.
In cele din urma, ar trebui sa decideti daca aveti nevoie de o parola pentru cheia privata sau nu. Va rugam sa retineti ca anumite servere nu vor accepta chei private cu parole.
Dupa ce sunteti gata sa generati cheia privata (cu algoritmul RSA), rulati comenzile de mai jos:
openssl genrsa -out yourdomain.key 2048
Aceasta comanda va crea fisierul yourdomain.key in directorul dvs. curent. Cheia dvs. privata va fi in format PEM.
Puteti vizualiza continutul codat al cheii private prin urmatoarea comanda:
cat yourdomain.key
Pentru a va decoda cheia privata, executati comanda de mai jos:
openssl rsa -text -in yourdomain.key -noout
– Extragerea cheii publice
Pentru a extrage cheia publica din cheia privata, utilizati urmatoarea comanda:
openssl rsa -in yourdomain.key -pubout -out yourdomain_public.key
– Crearea CSR (Certificate Signing Request)
Dupa ce ati generat cu succes cheia privata, este timpul sa va creati CSR. Va fi in format PEM si va include detalii despre compania dvs., precum si cheia publica derivata din cheia dvs. privata. Rulati urmatoarea comanda pentru a genera CSR:
openssl req -new -key yourdomain.key -out yourdomain.csr
OpenSSL va va solicita sa raspundeti la cateva intrebari. Utilizati exemplul de mai jos:
- 2 Letter Country Code – codul din 2 litere a tarii (ex. RO)
- State/Province name – judetul sau sectorul, cu denumirea completa
- Locality name – orasul, cu denumirea completa
- Organization – numele complet al companiei (numele legal)
- Organization Unit name – de obicei IT sau Web Administration. Puteti utiliza NA pentru certificate DV
- Common Name – furnizati numele resursei de protejat Fully Qualified Domain Name (FQDN), caruia doriti sa ii atribuiti certificatul SSL. Cea mai frecventa forma este www.domeniulmeu.tld; pentru certificatele de tip Wildcard, campul Common Name trebuie sa aiba forma de tipul *.domeniulmeu.tld;
- E-Mail – introduceti o adresa de email valida
Nota: Urmatoarele atribute sunt optionale. Daca nu doriti sa le completati, puneti un punct (.) pentru a le lasa goale.
- Challenge password – acesta este un atribut depasit, care nu mai este solicitat de Autoritatile de Certificare. Pentru a evita orice confuzie, lasati acest camp liber.
- An Optional Company Name – Daca numele companiei dvs. oficial este prea lung sau complex, puteti introduce aici un nume mai scurt sau un nume de marca. Din nou, pentru a evita confuzia, mai bine lasati necompletat acest camp.
-subj Switch- o modalitate alternativa de a genera codul CSR
De asemenea, puteti trimite informatiile dvs. chiar din linia de comanda cu ajutorul –subj switch
Aceasta comanda va dezactiva solicitarile de interogare:
openssl req -new -key yourdomain.key -out yourdomain.csr \ -subj "/C=US/ST=CA/L=San Francisco/O=Your Company, Inc./OU=IT/CN=yourdomain.com"
– Crearea cheii private si CSR simultan
Intrucat OpenSSL este foarte versatil, exista o comanda pentru a genera cheia privata si CSR simultan:
openssl req -new \
-newkey rsa:2048 -nodes -keyout yourdomain.key \
-out yourdomain.csr \
-subj "/C=US/ST=CA/L=San Francisco/O=Your Company, Inc./OU=IT/CN=yourdomain.com"
Aceste comenzi genereaza cheia privata fara parola (-keyout yourdomain.key) si codul CSR (out domain.csr).
– Verificarea informatiilor despre CSR
Pentru a va asigura ca ati furnizat informatiile corecte inainte de a trimite CSR la Autoritatea de Certificare, executati comanda de mai jos:
openssl req -text -in yourdomain.csr -noout –verify
– Trimiterea CSR la Autoritatea de Certificare (CA)
Rulati comanda cat yourdomain.csr pentru a vizualiza si copia intregul continut al CSR. Asigurati-va ca includeti tag-urile —–BEGIN CERTIFICATE REQUEST—– si —–END CERTIFICATE REQUEST— , apoi copiati totul in formularul de comanda al furnizorului dvs. SSL.
– Verificarea detaliilor certificatului
Dupa ce Autoritatea de Certificare livreaza certificatul SSL catre casuta de e-mail, executati comanda de mai jos pentru a va asigura ca informatiile certificatului se potrivesc cu cheia dvs. privata:
openssl x509 -text -in yourdomain.crt –noout
Iar aceasta incheie lista noastra de comenzi comune OpenSSL.