Жүйедегі пайдаланушыларды тіркеу және авторизациялау үшін Rutoken технологиясын пайдалану тәжірибесі (3-бөлім)

Қайырлы күн!

Алдыңғы бөлімде Біз өзіміздің сертификаттау орталығын сәтті құрдық. Ол біздің мақсаттарымыз үшін қалай пайдалы болуы мүмкін?

Жергілікті сертификаттау орталығын пайдалана отырып, біз сертификаттар бере аламыз, сондай-ақ осы сертификаттардағы қолдарды тексере аламыз.

Пайдаланушыға сертификат беру кезінде сертификаттау орталығы '.csr' файл пішімі бар Pkcs#10 арнайы сертификат сұрауын пайдаланады. Бұл сұрауда сертификаттау орталығы қалай дұрыс талдау керектігін білетін кодталған реттілік бар. Сұрау пайдаланушының ашық кілтін де, сертификатты жасауға арналған деректерді де (пайдаланушы туралы деректері бар ассоциативті массив) қамтиды.

Біз келесі мақалада сертификатқа сұранысты қалай алуға болатынын қарастырамыз және осы мақалада мен сертификаттау органының сервер жағындағы тапсырманы орындауға көмектесетін негізгі командаларды бергім келеді.

Сондықтан алдымен сертификат жасауымыз керек. Ол үшін пәрменді қолданамыз:

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

ca — сертификаттау орталығына қатысты openSSL пәрмені,
-пакет - сертификатты жасау кезінде растау сұрауларынан бас тартады.
user.csr — сертификат жасауды сұрау (.csr пішіміндегі файл).
user.crt - сертификат (пәрменнің нәтижесі).

Бұл пәрмен жұмыс істеуі үшін сертификаттау орталығы сипатталғандай конфигурациялануы керек мақаланың алдыңғы бөлігінде. Әйтпесе, куәландырушы орталықтың түбірлік куәлігінің орналасқан жерін қосымша көрсетуге тура келеді.

Куәлікті тексеру пәрмені:

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

cms — openSSL пәрмені, ол деректерге қол қою, тексеру, шифрлау және openSSL көмегімен басқа криптографиялық операциялар үшін пайдаланылады.

-тексеру - бұл жағдайда біз сертификатты тексереміз.

authenticate.cms - алдыңғы пәрменмен берілген сертификатпен қол қойылған деректерді қамтитын файл.

-inform PEM - PEM форматы қолданылады.

-CAfile /Users/……/demoCA/ca.crt – түбірлік сертификатқа жол. (мұнсыз команда мен үшін жұмыс істемеді, бірақ ca.crt жолдары openssl.cfg файлында жазылған)

-out data.file — шифры шешілген деректерді data.file файлына жіберемін.

Сертификаттау орталығын сервер жағында пайдалану алгоритмі келесідей:

  • Пайдаланушыны тіркеу:
    1. Біз куәлікті жасау және оны user.csr файлына сақтау сұрауын аламыз.
    2. Осы мақаланың бірінші пәрменін .bat немесе .cmd кеңейтімі бар файлға сақтаймыз. Біз бұл файлды кодтан іске қосамыз, бұрын user.csr файлына сертификат жасау сұрауын сақтадық. Біз user.crt сертификаты бар файлды аламыз.
    3. user.crt файлын оқып, оны клиентке жібереміз.

  • Пайдаланушы авторизациясы:
    1. Біз клиенттен қол қойылған деректерді аламыз және оны authenticate.cms файлына сақтаймыз.
    2. Осы мақаланың екінші пәрменін .bat немесе .cmd кеңейтімі бар файлға сақтаңыз. Біз бұл файлды кодтан іске қосамыз, бұрын серверден қол қойылған деректерді authenticate.cms файлында сақтаймыз. Біз деректердің шифры шешілген файлды аламыз.file.
    3. Біз data.file оқимыз және бұл деректердің жарамдылығын тексереміз. Нақты нені тексеру керектігі сипатталған бірінші мақалада. Деректер жарамды болса, пайдаланушы авторизациясы сәтті деп саналады.

Бұл алгоритмдерді іске асыру үшін серверді жазу үшін қолданылатын кез келген бағдарламалау тілін пайдалануға болады.

Келесі мақалада біз Retoken плагинімен қалай жұмыс істеу керектігін қарастырамыз.

Назарларыңызға рахмет!

Ақпарат көзі: www.habr.com

пікір қалдыру