bg-tutorials

Cum să generezi un CSR pe Tomcat

Acest tutorial vă arată cum să generați un CSR (Certificate Signing Request) pentru Apache Tomcat folosind utilitarul Java keytool. Fluxul constă în două comenzi: mai întâi keytool -genkeypair creează un keystore și o cheie privată sub un alias ales, apoi keytool -certreq exportă CSR-ul corespunzător. Același alias este reutilizat mai târziu când importați certificatul semnat, astfel încât cheia, CSR-ul și certificatul final se află toate în același loc.

De ce veți avea nevoie

  • O instalare Java (JDK sau JRE) pentru ca comanda keytool să fie disponibilă. Confirmați cu keytool -help.
  • Acces la shell sau terminal pe serverul care va găzdui cheia privată. Cheia privată trebuie să rămână pe acest server.
  • Numele de domeniu complet calificat (FQDN) exact pe care doriți să îl securizați, de exemplu www.yourdomain.com, plus orice domenii suplimentare pe care doriți să le acoperiți (pentru câmpul SAN).
  • Detaliile legale ale organizației dumneavoastră (țară, stat/provincie, localitate, denumirea organizației) pentru Numele Distinctiv (Distinguished Name) al CSR-ului.

Pasul 1: Creați keystore-ul și cheia privată

Dacă ați generat deja CSR-ul, treceți direct la trimiterea CSR-ului și apoi la instalarea certificatului SSL pe Tomcat.

Deschideți un terminal pe server și creați un keystore nou în format PKCS12. PKCS12 este standardul modern și portabil și a fost formatul implicit de keystore în Java începând cu JDK 9; formatul mai vechi JKS este depreciat. Rulați:

keytool -genkeypair 
  -alias tomcat 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -validity 825

Ce înseamnă parametrii:

  • -alias tomcat: numele intrării din keystore. Alegeți o etichetă pe care o veți recunoaște (de obicei tomcat sau domeniul dumneavoastră). Notați-l. Trebuie să reutilizați exact acest alias atunci când generați CSR-ul și din nou atunci când importați certificatul semnat.
  • -keyalg RSA -keysize 2048: o cheie RSA de 2048 de biți este minimul public actual. Pentru keystore-uri noi, 3072 de biți este o alegere rezonabilă pentru chei cu durată mai lungă de viață. Majoritatea CA-urilor publice acceptă și ECDSA (-keyalg EC -groupname secp256r1) dacă preferați o cheie mai mică și mai rapidă.
  • -storetype PKCS12: forțează utilizarea keystore-ului modern PKCS12. Extensia corespunzătoare este .p12 (sau .pfx).
  • -keystore yourdomain.p12: fișierul keystore care va fi creat. Înlocuiți numele cu unul pe care îl veți reține, și păstrați acest fișier în siguranță; el conține cheia dumneavoastră privată.
  • -validity 825: cât timp este valid certificatul-substitut auto-semnat din interiorul keystore-ului. Certificatul semnat de CA îl va înlocui mai târziu, deci valoarea exactă nu afectează durata de viață în producție.

keytool vă va solicita apoi o parolă a keystore-ului. Alegeți o parolă puternică și salvați-o în managerul dumneavoastră de secrete: veți avea nevoie de ea pentru fiecare comandă keytool ulterioară și pentru fișierul server.xml al Tomcat. La keystore-urile PKCS12, parola cheii este identică cu parola keystore-ului, deci trebuie să rețineți o singură parolă.

Pasul 2: Introduceți detaliile organizației dumneavoastră (DN)

keytool vă va cere acum Numele Distinctiv (Distinguished Name, DN): câmpurile de identitate care sunt incluse în CSR. Răspundeți la fiecare solicitare cu valoarea exactă și legală pentru organizația dumneavoastră. Punctuația și acuratețea sunt importante: un CA va respinge discrepanțele față de registrele publice ale companiei.

  • Prenume și nume (CN): aceasta este formularea folosită de keytool, dar de fapt este câmpul Common Name. Introduceți FQDN-ul exact pe care îl securizați, de exemplu www.yourdomain.com, sau un wildcard precum *.yourdomain.com. Nu introduceți numele unei persoane.
  • Unitate organizațională (OU): acest câmp nu mai este emis de CA-urile publice și este cel mai bine să îl lăsați necompletat. Apăsați Enter pentru a-l omite.
  • Organizație (O): numele legal complet al companiei dumneavoastră, de exemplu Your Company LLC.
  • Oraș sau localitate (L): numele complet al orașului, de exemplu San Jose. Nu abreviați.
  • Stat sau provincie (ST): numele complet al statului sau provinciei, de exemplu California. Nu utilizați un cod de două litere.
  • Codul țării (C): codul ISO de țară din două litere, de exemplu US, GB, DE.

După ultima solicitare, keytool afișează un rezumat de tipul CN=www.yourdomain.com, OU=, O=Your Company LLC, L=San Jose, ST=California, C=US. Tastați yes pentru a confirma. Fișierul keystore există acum cu o singură intrare: aliasul dumneavoastră, care conține cheia privată și un certificat-substitut auto-semnat.

Dacă preferați o comandă non-interactivă, transmiteți DN-ul direct în linia de comandă și omiteți solicitările:

keytool -genkeypair 
  -alias tomcat 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -dname "CN=www.yourdomain.com, O=Your Company LLC, L=San Jose, ST=California, C=US" 
  -validity 825

Pasul 3: Generați CSR-ul cu SAN

Browserele și clienții moderni validează certificatele pe baza extensiei Subject Alternative Name (SAN), nu doar pe baza Numelui Comun. Solicitați SAN-urile direct în CSR pentru ca CA-ul să le includă în certificatul emis. Utilizați același alias și același keystore folosite la Pasul 1:

keytool -certreq 
  -alias tomcat 
  -keystore yourdomain.p12 
  -file yourdomain.csr 
  -ext san=dns:yourdomain.com,dns:www.yourdomain.com

Ce înseamnă parametrii:

  • -alias tomcat: trebuie să corespundă aliasului de la Pasul 1. Acesta este aliasul a cărui cheie privată semnează cererea.
  • -keystore yourdomain.p12: trebuie să corespundă keystore-ului de la Pasul 1.
  • -file yourdomain.csr: numele fișierului de ieșire pentru CSR.
  • -ext san=dns:…: extensia Subject Alternative Name. Enumerați fiecare nume de gazdă pe care certificatul trebuie să-l acopere, inclusiv atât domeniul de bază (yourdomain.com), cât și subdomeniul www. Adăugați mai multe intrări separate prin virgulă, de exemplu dns:api.yourdomain.com.

keytool vă solicită parola keystore-ului și scrie CSR-ul în fișierul yourdomain.csr din directorul curent.

Foarte important: păstrați aliasul și keystore-ul

Cea mai frecventă greșeală keytool pe Tomcat este importarea certificatului semnat sub un alias nou. Acest lucru face ca certificatul să fie salvat ca o intrare de încredere independentă, fără nicio cheie privată asociată, iar TLS nu va funcționa. Importați întotdeauna răspunsul semnat înapoi în același alias care conține cheia privată (aliasul de la Pasul 1).

Notați aceste trei valori acum, înainte de a închide terminalul:

  • Aliasul (în acest ghid, tomcat).
  • Calea fișierului keystore (de exemplu yourdomain.p12).
  • Parola keystore-ului.

Dacă nu sunteți sigur ce alias conține cheia dumneavoastră, listați conținutul keystore-ului și căutați intrarea al cărei tip este PrivateKeyEntry:

keytool -list -v -keystore yourdomain.p12

Pasul 4: Verificați CSR-ul înainte de a-l trimite

Identificați eventuale greșeli de tastare în DN sau SAN-uri lipsă înainte ca CA-ul să le valideze. Afișați CSR-ul cu keytool:

keytool -printcertreq -file yourdomain.csr

Sau, dacă OpenSSL este instalat, îl puteți folosi în schimb:

openssl req -noout -text -in yourdomain.csr

Confirmați trei lucruri în rezultatul afișat: câmpul Subject arată DN-ul exact, câmpul Subject Alternative Name listează fiecare nume de gazdă de care aveți nevoie, iar dimensiunea Public-Key corespunde cu ce ați solicitat (RSA 2048 de biți, sau orice ați ales). De asemenea, puteți lipi CSR-ul în Decodorul nostru de CSR pentru aceeași verificare direct în browser.

Pasul 5: Trimiteți CSR-ul către Autoritatea de Certificare

Deschideți fișierul yourdomain.csr în orice editor de text. Fișierul este text simplu, care începe cu ––BEGIN CERTIFICATE REQUEST–– și se termină cu ––END CERTIFICATE REQUEST––. Copiați întregul bloc, inclusiv acele linii de început și de final, și lipiți-l în câmpul CSR în timpul procesului de comandă la CA-ul dumneavoastră. Pe Windows, folosiți Ctrl + A apoi Ctrl + C pentru a selecta întregul text; pe macOS, folosiți Cmd + A apoi Cmd + C.

După ce CA-ul validează cererea dumneavoastră și emite certificatul, continuați cu cum să instalați certificatul SSL pe Tomcat. Veți importa certificatul semnat înapoi în același alias din același keystore, iar apoi veți configura conectorul HTTPS al Tomcat să indice către acel keystore.

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.