Ustvarjanje CSR in zasebnega ključa

SSL Branje: 2 min

Potrdilo SSL je sestavljeno iz dveh delov: zasebnega ključa, ki ostane tajen na strežniku, in samega potrdila, ki vsebuje pripadajoči javni ključ in podatke domene. Za pridobitev potrdila je treba izdajatelju poslati CSR (Certificate Signing Request, zahteva za podpis potrdila). CSR vsebuje javni ključ in ime domene, zasebnega ključa pa ne.

Ali sploh moram narediti CSR?

V veliko primerih ne:

  • Pri brezplačnih potrdilih Let’s Encrypt ključ in CSR samodejno pripravi AutoSSL ali odjemalec ACME (na primer Certbot).
  • Pri plačljivih potrdilih, če je domena na tvojem gostovanju cPanel pri nas, na portalu za stranke izberi način Autoinstall (via cPanel): portal ustvari ključ in CSR ter namesti tudi končano potrdilo. Glej: Nastavitev in ponovna izdaja plačljivega potrdila SSL.

Lasten CSR potrebuješ, če potrdilo nameščaš na drug strežnik (lasten VPS, drug ponudnik, poštni strežnik, izenačevalnik obremenitve, strežnik Windows) in želiš zasebni ključ ustvariti tam, kjer ga boš uporabljal. To je najvarnejša rešitev, ker ključ tako nikoli ne zapusti strežnika.

1. možnost: na portalu za stranke

Če pri nastavitvi potrdila izbereš način Manual Enrollment in ne prilepiš lastnega CSR, portal iz vnesenih podatkov (domena, država, mesto, organizacija) ustvari zasebni ključ in CSR. Zasebni ključ po izdaji preneseš na strani potrdila z gumbom Prenos zasebnega ključa, namestiti ga moraš skupaj s potrdilom.

2. možnost: v cPanelu

  1. Prijavi se v cPanel in v razdelku Varnost (Security) klikni ikono SSL/TLS.
  2. V razdelku Zahteve za podpis potrdila (CSR) klikni povezavo Generate, view, or delete SSL certificate signing requests.
  3. Za ključ pusti privzeto nastavitev Generate a new key.
  4. Vnesi domeno (na primer pelda.hu in www.pelda.hu v ločenih vrsticah) ter podatke organizacije.
  5. Klikni gumb Generate.

cPanel prikaže CSR (besedilo, ki se začne z -----BEGIN CERTIFICATE REQUEST-----), tega prilepi na portalu za stranke. Zasebni ključ ostane v cPanelu, ob namestitvi končanega potrdila ga cPanel samodejno poveže z njim.

3. možnost: z ukazom OpenSSL

Na lastnem strežniku zasebni ključ in CSR ustvariš z enim ukazom:

openssl req -new -newkey rsa:2048 -nodes \
  -keyout pelda.hu.key -out pelda.hu.csr \
  -subj "/C=HU/L=Budapest/O=Pelda Kft./CN=pelda.hu" \
  -addext "subjectAltName=DNS:pelda.hu,DNS:www.pelda.hu"
  • pelda.hu.key je zasebni ključ, pelda.hu.csr pa CSR.
  • CN (Common Name) je glavna domena, subjectAltName pa vse domene, ki pridejo v potrdilo.
  • Pri potrdilu DV navedba organizacije (O) ni obvezna, pri potrdilih OV in EV navedi uradno ime podjetja.

Za preverjanje vsebino CSR prikažeš takole:

openssl req -in pelda.hu.csr -noout -text

Kaj navesti v CSR?

Polje Pomen Primer
Common Name (CN) glavna domena pelda.hu ali *.pelda.hu
Organization (O) uradno ime podjetja (pri OV/EV) Pelda Kft.
Organizational Unit (OU) ni obvezno, izdajatelji potrdil ga ne upoštevajo več  
Locality (L) mesto Budapest
State (ST) regija ali pokrajina Pest
Country (C) dvočrkovna koda države HU

Pri domeni s šumniki navedi obliko punycode domene (na primer namesto példa.hu xn--plda-bpa.hu).

Zaščita zasebnega ključa

  • Zasebnega ključa nikoli ne pošiljaj po e-pošti, klepetu ali v zahtevku za podporo in ga ne nalagaj na javno mesto (na primer v repozitorij Git).
  • Dovoljenja datoteke ključa naj bodo stroga, na primer chmod 600 pelda.hu.key.
  • Ob vsaki ponovni izdaji je dobro narediti nov ključ in CSR.
  • Če se je ključ izgubil, potrdila ni več mogoče uporabljati: naredi nov ključ in CSR ter potrdilo izdaj znova. Če je ključ prišel v napačne roke, preberi, kaj narediti ob uhajanju zasebnega ključa.
Nazaj: SSL – članki (35)