Kezdőoldal > PKI > Tanúsítvány exportálása – 2. rész

Tanúsítvány exportálása – 2. rész


Folytassuk ezt, áttérve a gyakorlatra.

A legfontosabb az exportálandó tanúsítvány azonosítása: a név alapján a legkönnyebb, ám létezhetnek ugyanolyan nevű, de más funkciójú tanúsítványok, ekkor a sorozatszám (Serial number) vagy lenyomat (Thumbprint, Cert Hash) segít.

Természetesen privát kulcsos tanúsítványt csak akkor tudunk exportálni, ha a privát kulcs is a gépen van, pl. mmc-konzolon megnyitva a tanúsítványt You have a private key that corresponds to this certificate.” üzenetet kell lássunk (mellékesen már a tallózáskor látható a kulcs jele a tanúsítvány ikonján):

cert-pfx

Ha ezt tisztáztuk, próbáljuk meg kapásból Mmc-ből exportálni – s itt máris jöhet egy buktató.

Ha szürke a Pfx opció, s „The associated private key cannot be found.  Only the certificate can be exported” hibaüzenetet kapunk, akkor nagy valószínűség szerint nincs hozzáférésünk a már említett kulcs-tároló könyvtárhoz és tartalmához:

Felhasználó: %AppData%\Microsoft\Crypto\RSA\

Számítógép: %AllUsersProfile%\Microsoft\Crypto\RSA\MachineKeys

Ugyanez az egyik leggyakoribb oka egy másik ismert hibának is, ami már a tanúsítvány megnyitásakor látszik: „You have a private key that corresponds to this certificate but CryptAcQuireCertificatePrivateKey failed”.  A könyvtárhoz szükséges jogok a KB278381-ben vannak leírva.

Nézzünk más módszereket. Azonosításhoz bevethetünk PowerShell-t is, hiszen a tanúsítványtárolóban pont úgy lépegethetünk, mint egy könyvtárstruktúrában (annyi különbséggel, hogy a „meghajtó-váltásnál” szükséges a „cd” utasítás), ahol előbb a tároló helyét határozzuk meg (CurrentUser, LocalMachine), ezen belül pedig a tárolók (CA, Trust, My, stb.) közül választhatunk – itt tudatosan nem egy lépésben csinálom, hogy gyakoroljuk 🙂 :

cd cert:

dir

cd LocalMachine

dir .\My

A listázott tanúsítványok közül kimásoljuk az érintett tanúsítvány lenyomatát, s ha mindezt egy Windows 8/2012 (vagy újabb) rendszerű gépen csináljuk, akkor kapásból tudjuk is exportálni az Export-PfxCertificate használatával. Aki régebbi rendszerrel nyomul, az viszont ezt próbálhatja ki.

Végül, de nem utolsó sorban nézzük a szinte minden érintett cikkemben előforduló parancssoros tanúsítványkezelőt. A Certutil [-user] –store My paranccsal ki tudjuk listázni őket, itt a Serial number és Cert Hash adatai alapján tudjuk kezelni.

Természetesen az exportálás sem okoz gondot neki:

certutil -exportPFX -p “jelszó” [-user] my ”sorozatszám_vagy_lenyomat” tanusitvany.pfx

Még egy picit térjünk vissza az mmc konzolra. Tételezzük fel, hogy a kezdeti akadályokon túlküzdöttük magunkat, de továbbra is The associated private key is marked as not exportable hibaüzenet fogad bennünket a konzolból történő exportkor (például egy számítógép tanúsítványának pfx-mentése során, ha azt egy CA állította ki, ahol a Computer sablonban a privát kulcs alapértelmezettje a nem-menthető).

Ha nem tudjuk az elméletet, s ugyanezt megnézzük Certutil-al, a listázáskor nem írja ki egyértelműen, hogy „Private key is NOT exportable”, így azt gondolhatnánk, hogy sínen vagyunk. Ne dőljünk be neki! Ekkor igaz, hogy lefut az exportálást végző utasítás, de a kapott pfx nem fogja tartalmazni a privát kulcsot. (Ilyenkor sem lehetetlen azt megkapni, de azt én már nagyjából hackelés kategóriába sorolnám.) Ugyanez az helyzet, ha már a listázásnál az „Encryption test FAILED” sort látjuk.

S még egy utolsó dolog. Amikor egyes helyeken azt írják, hogy „hozzunk létre egy CA-t”, az számukra annyit jelent, hogy hozzunk létre egy olyan önaláírt tanúsítvány-kulcs párost, amelynél rendelkezünk a privát kulccsal, azzal alá tudunk írni. Érezzük, hogy ez nem ugyanaz, mint egy „igazi” CA tanúsítvány-kiszolgáló, de ha mégis valaki erre vetemedik, akkor emelt szinten ezt futtassa:

openssl genrsa -des3 -out privkey.pem 2048

openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095

Ekkor legyártja külön a privát kulcsot, 2048-bites DES3 kódolással, bekéri a titkosításhoz használt jelszót, lementi a titkosított privát kulcsot, majd második lépésben bekéri a tanúsítványon szereplő többi adatot, s elkészíti a tanúsítványt. Mint látjuk, nagyon hasonlít a tanúsítvány-kérelem igényléséhez (openssl req -new -keyout privkey.pem -out certreq.pem –days 365), „csak” a kimenet változik 🙂 De természetesen egy telepített CA-val nem tud vetekedni…

Advertisements
Kategóriák:PKI Címke: , ,
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: