CSR és privát kulcs létrehozása

Egy SSL tanúsítvány két részből áll: egy privát kulcsból, amely titokban marad a szerveren, és magából a tanúsítványból, amely a hozzá tartozó nyilvános kulcsot és a domain adatait tartalmazza. A tanúsítvány igényléséhez egy CSR-t (Certificate Signing Request, tanúsítvány-aláírási kérelem) kell küldeni a tanúsítványkiadónak. A CSR tartalmazza a nyilvános kulcsot és a domain nevét, a privát kulcsot viszont nem.

Kell egyáltalán CSR-t készítenem?

Sok esetben nem:

  • Az ingyenes Let’s Encrypt tanúsítványoknál a kulcsot és a CSR-t az AutoSSL vagy az ACME-kliens (például a Certbot) automatikusan elkészíti.
  • A fizetős tanúsítványoknál, ha a domain a nálunk lévő cPanel tárhelyén van, válassza az Ügyfélportálon az Autoinstall (via cPanel) módot: a portál létrehozza a kulcsot és a CSR-t, és a kész tanúsítványt is telepíti. Lásd: Fizetős SSL tanúsítvány beállítása és újrakiállítása.

Saját CSR-re akkor van szükség, ha a tanúsítványt más szerverre telepíti (saját VPS, másik szolgáltató, levelezőszerver, terheléselosztó, Windows-szerver), és a privát kulcsot ott szeretné létrehozni, ahol használni fogja. Ez a legbiztonságosabb megoldás, mert a kulcs így soha nem hagyja el a szervert.

1. lehetőség: az Ügyfélportálon

Ha a tanúsítvány beállításakor a Manual Enrollment módot választja, és nem illeszt be saját CSR-t, a portál a megadott adatokból (domain, ország, város, szervezet) létrehozza a privát kulcsot és a CSR-t. A privát kulcsot a kiadás után a tanúsítvány oldalán a Privát kulcs letöltése gombbal töltheti le, a tanúsítvánnyal együtt kell telepítenie.

2. lehetőség: a cPanelben

  1. Jelentkezzen be a cPanelbe, és a Biztonság (Security) részben kattintson az SSL/TLS ikonra.
  2. A Tanúsítvány-aláírási kérelmek (CSR) részben kattintson a Generate, view, or delete SSL certificate signing requests linkre.
  3. Kulcsnak hagyja az alapértelmezett Generate a new key beállítást.
  4. Adja meg a domaint (például pelda.hu és www.pelda.hu külön sorban), valamint a szervezet adatait.
  5. Kattintson a Generate gombra.

A cPanel megjeleníti a CSR-t (-----BEGIN CERTIFICATE REQUEST----- kezdetű szöveg), ezt illessze be az Ügyfélportálon. A privát kulcs a cPanelben marad, a kész tanúsítvány telepítésekor a cPanel automatikusan párosítja vele.

3. lehetőség: OpenSSL paranccsal

Saját szerveren a privát kulcs és a CSR egyetlen paranccsal létrehozható:

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"
  • A pelda.hu.key a privát kulcs, a pelda.hu.csr a CSR.
  • A CN (Common Name) a fő domain, a subjectAltName a tanúsítványba kerülő összes domain.
  • DV tanúsítványnál a szervezet (O) megadása nem kötelező, OV és EV tanúsítványnál a cég hivatalos nevét adja meg.

Ellenőrzésképpen a CSR tartalmát így jelenítheti meg:

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

Mit adjak meg a CSR-ben?

Mező Jelentése Példa
Common Name (CN) a fő domain pelda.hu vagy *.pelda.hu
Organization (O) a cég hivatalos neve (OV/EV esetén) Pelda Kft.
Organizational Unit (OU) nem kötelező, a tanúsítványkiadók már nem veszik figyelembe  
Locality (L) város Budapest
State (ST) megye Pest
Country (C) kétbetűs országkód HU

Ékezetes domain esetén a domain punycode alakját adja meg (például a példa.hu helyett xn--plda-bpa.hu).

A privát kulcs védelme

  • A privát kulcsot soha ne küldje el e-mailben, chaten vagy hibajegyben, és ne töltse fel nyilvános helyre (például Git-tárolóba).
  • A kulcsfájl jogosultsága legyen szigorú, például chmod 600 pelda.hu.key.
  • Minden újrakiállításnál érdemes új kulcsot és CSR-t készíteni.
  • Ha a kulcs elveszett, a tanúsítvány nem használható tovább: készítsen új kulcsot és CSR-t, és állítsa ki újra a tanúsítványt. Ha a kulcs illetéktelen kézbe került, olvassa el ezt a cikket.