Amikor egy hitelesítés-szolgáltatótól tanúsítványt vásárolunk, általában nincsen semmilyen bonyolult, technikai teendőnk; egyszerűen regisztrálunk, azonosítjuk magunkat (akár videón keresztül), majd megkapjuk a tanúsítványunkat és a hozzá tartozó kulcspárt aláírókártyán, USB tokenen, esetleg más megoldással (pl. tárolt kulcsú szolgáltatás esetében nem is kell fizikai aláíró eszközt kapjunk) és már készen is vagyunk. Ám létezik néhány tanúsítványtípus (pl. a legtöbb SSL tanúsítvány), amelyek igénylésekor a teendőnk ettől némileg eltér; ezekben az esetekben „otthon” kell kulcspárt generálnunk, illetve egy ahhoz tartozó Certificate Signing Requestet (CSR).
A CSR nem más, mint egy, a hitelesítés-szolgáltatónak küldött üzenet, amelyben a hitelesítés-szolgáltatót kérjük, hogy az általunk generált publikus-privát kulcspár publikus felét foglalja a tanúsítványunkba. A CSR-eket a PKCS#10 szabvány írja le, létrehozásuk lépései pedig a következők:
Az első lépésünk egy nyilvános-titkos kulcspár generálása. Ezt megtehetjük OpenSSL-lel, amely egy ingyenes, nyílt forráskódú szoftver, mely szinte minden operációs rendszeren fut; sőt, nagy esélyünk van arra is, hogy gyárilag telepítve van rendszerünkre. Ezt a parancssorba beírt következő paranccsal tudjuk megerősíteni:
openssl version
Ha ezután valami ilyesmit látunk:
OpenSSL 1.1.1d 10 Sep 2019,
tudjuk, hogy az OpenSSL szoftverünk telepítve van. Egyéb esetekben be tudjuk szerezni a legfrissebb verziót az https://www.openssl.org weboldalról.
Ezután el kell döntenünk, milyen kulcsot szeretnénk generálni. Mindenképpen ajánlott a HSZ algoritmusokra és kulcshosszokra vonatkozó követelményeinek figyelmes átolvasása – ha erről nem találunk információt, kompatibilitási szempontból a legjobb megoldásunk 2048 bites RSA kulcsot generálni, de amennyiben az e-Szignó Hitelesítés Szolgáltató ügyfelei vagyunk, a követelmények mindig meg vannak határozva az igénylőlapon.
Amennyiben EC (azaz elliptikus görbén alapuló) kulcsot szeretnénk használni, két parancsot kell kiadnunk. Az egyiket a kulcs generálására (a példában a NIST P-256 görbe felett):
openssl ecparam -out key.pem -genkey -name prime256v1
majd egy másikat a CSR elkészítésére:
openssl req -new -key key.pem -sha256 -out certificaterequest.pem
RSA esetében a feladatunk egyszerűbb, itt egyetlen paranccsal tudunk kulcspárt és CSR-t generálni:
openssl req -newkey rsa:2048 -out certificaterequest.pem -keyout key.pem
Az OpenSSL jelszó megadására is kérhet, amellyel a privát kulcsunkat titkosítja majd, ez a szimmetrikus kulcsú AES algoritmussal történik. Mindenképpen érdemes kellően erős jelszót választanunk.
Ezután az OpenSSL néhány információ megadását kéri. Az e-Szignó HSZ-nak küldendő CSR-be elegendő az alábbi két mező kitöltése:
Minden más mezőt üresen hagyhatunk az enter gomb lenyomásával, amikor a program a megadásukat kéri.
Titkos kulcsunk mindkét esetben a key.pem fájl lesz, a CSR pedig a certificaterequest.pem fájl (természetesen a fájlok szabadon elnevezhetők – csak ne keverjük össze őket). Fontos, hogy titkos kulcsunkat biztonságosan kezeljük, azt csak mi ismerhetjük.
…És készen is vagyunk, megvan minden, ami szükséges a tanúsítványigényléshez. Megnyithatjuk a CSR fájlunkat bármilyen szövegszerkesztő programmal és az igénylőlapon a vonatkozó mezőbe másolhatjuk. Fontos, hogy a fájl teljes tartalmát bemásoljuk, tehát, hogy a CSR-ünk így kezdődjön:
-----BEGIN CERTIFICATE REQUEST-----
és ez legyen az utolsó sora:
-----END CERTIFICATE REQUEST-----
Amennyiben rendelkezünk hardver kriptográfiai eszközzel (HSM), kulcsmenedzsment és biztonság szempontjából a legjobb választás abban tárolni kulcsunkat. Sajnos nincsen egy általános interfész, tehát a CSR/kulcs generálása eltér HSM és HSM között; azt, hogy ezt hogyan tehetjük meg, a modul felhasználói kézikönyve tartalmazza. A CSR-be írandó mezők és az elkészült CSR igénylőlapra másolása tekintetében pedig ugyanúgy a fent leírtak irányadók.
© 2024 Microsec zrt. | Cégjegyzékszám: 01-10-047218 | Adószám: 23584497-2-41