Készítsen saját ca és aláírja a bizonyítványokat a forrásokat

Ebben a dolgozatban részletesen leírja, hogyan lehet létrehozni saját CA és az azt követő generáció kapcsolódó fájlok: igazolások, tanúsítványkérelmekre, és így tovább. Úgy gondoljuk, hogy a munka egy terminált Linux / Unix gép az OpenSSL.

Cikk egy ingyenes adaptációja a magyar nyelv itt ebben a cikkben (plusz a saját cucc). Ez leírja az alapvető „alacsony szintű” parancsok dolgozik tanúsítványokat (x509, req, stb)

További információ a digitális tanúsítványok más üzenete:

Certification Center (angol minősítő hatóság rövidítve CA) - ez egy egypontos generációs digitális tanúsítványokat. A végén az ügyfelek (például böngészők) egy adatbázis nyilvános kulcsokat különböző CA, és ellenőrizze, hogy jönnek, például helyszíni igazolásokat. Mi érdekli a tanúsítványokat, amelyek használják az ülések által védett SSL / TLS protokoll.

Valójában, az egész folyamat lehet osztani a következő lépéseket:

  1. generál egy privát kulcs (erősen véletlenszerű gyűjteménye bájt);
  2. alapján hozzuk létre, egy pár a privát kulcs tanúsítványt CA (állami és magán);
  3. generál egy pár igazolások tartomány aláírt létre az előző lépésben CA.

Először is a privát kulcsot generál egy fájlt (fájl ca.key), a folyamat a jelszó megadása (emlékszik rá, mi szükség van rá több, ha azt akarjuk, hogy hozzon létre egy kulcsot jelszó nélkül, egyszerűen eltávolítani a csapat -des3 érv):

Most Létrehoz egy pár tanúsítványok a CA (helyett 365, akkor helyettesítheti más érték, akkor az eltarthatósága bizonyítványok pár nap):

Írja be a jelszót, hogy a kulcsot, majd óvatosan töltse ki a tárgy mezőt (subject). Ezekből az adatokból, akkor majd azonosítani a nyilvános tanúsítvány között szerepelnek a többi, például. A kimenet ca.crt fájl - egy nyilvános igazolást a CA

Akkor létrehozhat egy kulcs és tanúsítvány, mint egy csapat, és ugyanazt a parancsot magában paraméterei a következők vonatkoznak:

Sajnos, ez a parancs érvénytelen gombot. Openssl érti rendesen, de más program nem tudja elviselni. Mi megoldjuk ezt a parancsot (mi csak írni és olvasni a fájlt újra):

Tartalom -subj paraméter szem elől / $ kulcs = $ ertek szegmensben. $, Ahol a kulcs a következő értékeket:

Tehát van egy domain (például example.com) és szeretnénk írni az SSL-tanúsítvány által aláírt újonnan létrehozott neki CA. A tanúsítvány a böngésző használata. A lépések nagyjából ugyanaz, mint abban az esetben, CA:

  1. hozzon létre egy külön privát kulcs (kell egy új privát kulcsot, nem tudja használni az egyik, hogy mi volt a CA);
  2. Elkészítjük a tanúsítvány aláírási kérelem, amelyet majd meg kell küldeni CA;
  3. A CA-tanúsítvány alapján generált a tanúsítvány aláírási kérelem;
  4. telepíteni a szerver tanúsítványa.

Tehát a kulcs generálódik (a folyamat, jelszó megadása, előnyösen különbözik a jelszó generálásához használt CA kulcs):

Ha nem szeretné titkosítani a gombot, majd elhagyjuk beállítás -des3:

Itt van egy egyszerű módja annak, hogy hozzon létre egy csr:

A folyamat során meg kell válaszolnia néhány kérdést (ország, város, domain név, stb.), Akkor az eredmény egy CSR-fájlt küldhet CA. Ez a módszer azonban számos hátránya van - adatkérés megy egy előre meghatározott minta, amely nem tartalmazza az egyes fontos területeken, például subjectAltName (ez a kiterjesztés, hogy többszörös DNS-neveket a tanúsítványt).

Az egyetlen ismert módja, hogy jelezze nekem subjectAltName terjeszkedés - az, hogy a saját konfigurációs fájl OpenSSL. Itt például, a következők szerint:

Mentsd el az OpenSSL-csr.cnf fájlt és szerkesztése (regisztrálni kell a subjectAltName a domainek, ha jó az OpenSSL konfigurációs lehetőség van egyéb lehetőségek megváltoztatni / add), majd futtassa a következő parancsot itt:

Server.csr A kapott fájl most már szükség van a „Levél» CA, ott írja alá. CA Mivel a saját, akkor aláírja magukat. Itt is van egy árnyalatot kapcsolatos X509v3-bővítmények - a csapat A tanúsítvány létrehozásához alapértelmezés szerint nem tartalmazza a kiterjesztés említett CSR (ami meg van adva a CSR értékek subjectAltName a tanúsítványban nem esik). Elmegyünk a legegyszerűbb módja - fogjuk használni ugyanazt a konfigurációt (OpenSSL-csr.cnf) adódóan, hogy a CSR, belőle, meg kell csak a [req_ext]:

Ebben az esetben a „eltarthatóság” a tanúsítvány időtartama egy év (365 nap).

Most már szinte teljes készlet minden szükséges igazolásokat. Néha meg kell használni egy nem titkosított szerver kulcs itt az, hogy hogyan lehet bejutni server.key.insecure fájlt, ha server.key a titkosított kulcs:

A könnyű használhatóság lehet egy kicsit átnevezni fájlokat:

Először is hasznos parancsokat, amelyek lehetővé teszik „látni” A tanúsítványok és a CSR:

Most meg kell tenni a generált tanúsítványok (server.crt és server.key) a kívánt helyre a szerveren. Részleteket már túlmutatnak a jegyzeteket.

A böngésző nem esküsznek a tanúsítványt ki kell egészíteni az adattárat CA újonnan létrehozott CA, azaz ca.crt fájl import, nézd meg ezt a listát, úgy tűnt. Azt is fel a tanúsítványt a rendszer-szintű adattár CA-tanúsítványokat.