bg-tutorials

Cum se generează un CSR pe Debian

Acest ghid vă arată cum să generați un CSR (Certificate Signing Request) pe Debian folosind linia de comandă OpenSSL. Rulați o singură comandă prin SSH care creează două fișiere simultan: o cheie privată care rămâne pe serverul dvs. și CSR-ul pe care îl trimiteți către Autoritatea de Certificare (CA). Pașii funcționează pe Debian 13 (trixie), Debian 12 (bookworm) și versiunile anterioare, întrucât OpenSSL este inclus în sistemul de bază.

Un CSR este un mic bloc de text care conține detaliile domeniului dvs. și o cheie publică. CA îl citește, validează cererea și emite un certificat care corespunde cheii private create alături de acesta. Cheia privată nu părăsește niciodată serverul dvs., așa că păstrați-o în siguranță: dacă o pierdeți, certificatul emis devine inutilizabil și trebuie să o luați de la capăt.

Pasul 1: Conectați-vă la serverul Debian

Deschideți un terminal și conectați-vă la server prin SSH. Înlocuiți your-user cu numele contului dvs. și your-server-ip cu adresa IP sau numele de gazdă al serverului:

ssh your-user@your-server-ip

OpenSSL este inclus în sistemul de bază Debian, așa că nu este nevoie să instalați nimic în plus. Pentru a confirma că este disponibil, verificați versiunea:

openssl version

Pasul 2: Generați cheia privată și CSR-ul

Rulați comanda de mai jos. Aceasta creează cheia privată și CSR-ul într-un singur pas și include Subject Alternative Names (SAN-uri) pe care browserele moderne și CA-urile le solicită. Rulați-o dintr-un director în care aveți drepturi de scriere, cum ar fi directorul dvs. personal (home):

openssl req -new -newkey rsa:2048 -nodes 
-keyout mywebsite.key 
-out mywebsite.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=mywebsite.com" 
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"

Iată ce face fiecare parte:

  • req -new creează o nouă cerere de semnare a certificatului.
  • -newkey rsa:2048 generează o nouă cheie privată RSA de 2048 de biți. 2048 de biți este minimul actual pentru certificatele publice; puteți folosi rsa:4096 pentru o cheie mai mare.
  • -nodes lasă cheia privată necriptată (fără parolă), astfel încât serverul web să poată porni fără a solicita o parolă.
  • -keyout mywebsite.key scrie cheia privată. Păstrați acest fișier privat și nu-l trimiteți niciodată nimănui.
  • -out mywebsite.csr scrie CSR-ul pe care îl trimiteți către CA.
  • -subj completează câmpurile subiectului direct în linia de comandă, astfel încât comanda să ruleze fără solicitări interactive. Setați CN (Common Name) la numele de domeniu complet calificat al dvs.
  • -addext „subjectAltName=…” adaugă intrările SAN. CA-urile emit certificate în funcție de lista SAN, așa că includeți fiecare nume de gazdă pe care certificatul trebuie să îl acopere.

Înlocuiți mywebsite.com cu domeniul dvs. real și editați valorile din -subj pentru a corespunde organizației dvs. Codul de țară din două litere (C) trebuie să fie scris cu majuscule, de exemplu US sau GB. Pentru un certificat cu validare de domeniu (DV), câmpurile organizației nu sunt verificate, dar comanda are nevoie totuși de valori valide.

Dacă preferați să completați câmpurile interactiv, în loc să folosiți -subj, omiteți acea linie și OpenSSL vă va solicita fiecare valoare:

openssl req -new -newkey rsa:2048 -nodes 
-keyout mywebsite.key 
-out mywebsite.csr 
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"

Când sunteți solicitat, lăsați câmpurile challenge password și optional company name goale, apăsând Enter. CA-urile ignoră aceste câmpuri, iar o parolă de tip challenge poate cauza probleme mai târziu.

Adăugarea mai multor domenii sau a unui wildcard

Adăugați mai multe nume de gazdă în lista SAN, separate prin virgule. De exemplu, pentru a include un subdomeniu API:

-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com,DNS:api.mywebsite.com"

Pentru un certificat wildcard, folosiți *.mywebsite.com. Un wildcard acoperă un nivel de subdomenii, dar nu și domeniul principal, așa că enumerați ambele dacă doriți ca și domeniul de bază (apex) să fie acoperit:

-addext "subjectAltName=DNS:*.mywebsite.com,DNS:mywebsite.com"

Preferați o cheie ECDSA?

Cheile ECDSA sunt mai mici și mai rapide decât RSA la același nivel de securitate și sunt susținute pe scară largă. Pentru a genera în schimb o cheie și un CSR de tip P-256 (prime256v1), înlocuiți argumentul -newkey:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout mywebsite.key 
-out mywebsite.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=mywebsite.com" 
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"

OpenSSL modern semnează CSR-ul cu SHA-256 în mod implicit, ceea ce este exact ce solicită CA-urile. Nu este nevoie să adăugați un indicator separat pentru digest.

Pasul 3: Verificați CSR-ul

Înainte de a trimite cererea, confirmați că aceasta conține domeniul și SAN-urile corecte și că semnătura sa este validă. Această comandă afișează conținutul decodat și verifică semnătura local:

openssl req -noout -text -verify -in mywebsite.csr

Căutați verify OK în rezultat, verificați că linia Subject arată Common Name-ul dvs. și confirmați că secțiunea X509v3 Subject Alternative Name enumeră fiecare nume de gazdă la care vă așteptați. Dacă un SAN lipsește, regenerați CSR-ul cu valoarea corectă pentru -addext. Puteți, de asemenea, să lipiți CSR-ul în decodorul de CSR online pentru a verifica aceste câmpuri într-un browser.

Pasul 4: Trimiteți CSR-ul

Deschideți fișierul CSR și copiați întregul conținut, inclusiv liniile BEGIN și END:

cat mywebsite.csr

Blocul are următorul aspect. Copiați tot ce se află de la prima linie până la ultima, inclusiv cele cinci liniuțe de pe fiecare parte a marcatorilor BEGIN și END:

-----BEGIN CERTIFICATE REQUEST-----
MIIC...base64-encoded data...AB
-----END CERTIFICATE REQUEST-----

Lipiți acel bloc în formularul de comandă SSL. După ce CA validează CSR-ul și emite certificatul SSL, urmați instrucțiunile de instalare SSL pentru Debian pentru a-l implementa. Păstrați fișierul mywebsite.key pe server: aveți nevoie de el împreună cu certificatul emis pentru a activa HTTPS și nu trebuie niciodată să îl trimiteți către CA sau altcuiva.

Dacă preferați să nu folosiți linia de comandă, puteți construi cererea cu Generatorul de CSR nostru și puteți lipi rezultatul în comanda dvs.

Generați un CSR pe alte platforme

Folosiți o altă distribuție Linux sau un alt server? Consultați celelalte ghiduri CSR ale noastre:

Economisește 10% la certificatele SSL în momentul plasării comenzii!

Eliberare rapidă, criptare puternică, încredere în browser de 99,99%, suport dedicat și garanție de returnare a banilor în 25 de zile. Codul cuponului: SAVE10

A detailed image of a dragon in flight

Autor cu experiență, specializat în certificate SSL. Transformă subiectele complexe despre securitatea cibernetică în conținut clar și captivant. Contribuie la îmbunătățirea securității digite prin narațiuni cu impact.