A RUTOKEN technológia alkalmazási tapasztalata a felhasználók regisztrációjában és azonosításában a rendszerben (3. rész)

Jó napot!

Az előző részben Sikeresen létrehoztuk a saját tanúsítványkibocsátónkat. Miben segíthet nekünk ez a céljainkhoz?

A helyi tanúsítványkibocsátó segítségével tanúsítványokat állíthatunk ki, és ellenőrizhetjük a tanúsítványok aláírását is.

A tanúsítvány felhasználó számára történő kiadása során a tanúsítványkibocsátó speciális kérést használ a Pkcs#10 tanúsítványkiadáshoz, amely '.csr' fájlformátumú. Ez a kérés egy kódolt sorozatot tartalmaz, amelyet a tanúsítványkibocsátó tud, hogyan kell helyesen kiértékelni. A kérés tartalmazza a felhasználó nyilvános kulcsát, valamint a tanúsítvány létrehozásához szükséges adatokat (asszociatív tömb a felhasználó adataival).

Hogyan lehet beszerezni a tanúsítványkiadási kérelmet, azt a következő cikkben tárgyaljuk, de ebben szeretném bemutatni a tanúsítványkibocsátó főbb parancsait, amelyek segítenek a backend feladataink végrehajtásában.

Tehát először tanúsítványt kell létrehoznunk. Ehhez a következő parancsot használjuk:

openssl ca -batch -in user.csr -out user.crt

ca — az openSSL parancs, amely a tanúsítványkibocsátóhoz tartozik,
-batch — lemond a tanúsítvány létrehozásakor a megerősítési kérésekről.
user.csr — a tanúsítvány létrehozásának kérése ('.csr' fájlformátum).
user.crt — a tanúsítvány (a parancs eredménye).

Annak érdekében, hogy ez a parancs működjön, a tanúsítványkibocsátónak pontosan úgy kell beállítva lennie, ahogy azt a cikk előző részében leírtuk,. Ellenkező esetben meg kell adni a tanúsítványkibocsátó gyökértanúsítványának helyét.

A tanúsítvány ellenőrző parancsa:

openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/……/demoCA/ca.crt -out data.file

cms — az openSSL parancs, amelyet aláírásra, ellenőrzésre, adatok titkosítására és egyéb kriptográfiai műveletekre használnak az openSSL segítségével.

-verify — ebben az esetben a tanúsítvány ellenőrzését végezzük.

authenticate.cms — a fájl, amely aláírt adatokat tartalmaz a korábbi parancs által kiadott tanúsítvánnyal.

-inform PEM — a PEM formátumot használja.

-CAfile /Users/……/demoCA/ca.crt — a gyökértanúsítvány elérési útja. (e nélkül a parancs nem működött, bár az openssl.cfg fájlban meg vannak adva az elérési utak a ca.crt-hez)

-out data.file — a titkosított adatokat a data.file fájlba küldöm.

A tanúsítványkibocsátó alkalmazási algoritmusa a backend részén a következő:

  • Felhasználó regisztrálása:
    1. Megkapjuk a tanúsítvány létrehozására vonatkozó kérést, és elmentjük azt a user.csr fájlba.
    2. Elmentjük a cikk első parancsát .bat vagy .cmd kiterjesztéssel rendelkező fájlba. Ezt a fájlt a kódból futtatjuk, miután előzőleg elmentettük a tanúsítvány létrehozására vonatkozó kérelmet a user.csr fájlba. Megkapjuk a tanúsítványt tartalmazó user.crt fájlt.
    3. Beolvassuk a user.crt fájlt, és elküldjük azt az ügyfélnek.

  • Felhasználó azonosítása:
    1. Megkapjuk az aláírt adatokat az ügyféltől, és elmentjük azokat az authenticate.cms fájlba.
    2. Elmentjük a cikk második parancsát .bat vagy .cmd kiterjesztésű fájlba. Ezt a fájlt a kódból futtatjuk, miután előzőleg elmentettük a szerverről származó aláírt adatokat az authenticate.cms fájlba. Megkapjuk a dekódolt adatokat tartalmazó data.file fájlt.
    3. Beolvassuk a data.file fájlt, és ellenőrizzük az adatokat érvényesség szempontjából. Hogy pontosan mit ellenőrizzünk, azt az első cikkbenleírtak szerint végezzük. Ha az adatok érvényesek, akkor a felhasználó azonosítása sikeresnek tekinthető.

Ezeknek az algoritmusoknak a megvalósításához bármilyen programozási nyelvet használhatunk, amit a backend írásához használnak.

A következő cikkben arról fogunk beszélni, hogyan lehet dolgozni a Rütoken plugin-nal.

Köszönöm a figyelmet!

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster