Jó napot!
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 . 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.filecms — 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:
- Megkapjuk a tanúsítvány létrehozására vonatkozó kérést, és elmentjük azt a user.csr fájlba.
- 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.
- Beolvassuk a user.crt fájlt, és elküldjük azt az ügyfélnek.
- Felhasználó azonosítása:
- Megkapjuk az aláírt adatokat az ügyféltől, és elmentjük azokat az authenticate.cms fájlba.
- 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.
- 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 leí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
