Системада колдонуучуларды каттоо жана авторизациялоо үчүн 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 ичинде серверден кол коюлган дайындарды сактайбыз. Шифрленген маалыматтар data.file менен файлды алабыз.
    3. Биз data.file окуп, бул маалыматтардын жарактуулугун текшеребиз. Эмнени так текшерүү керектиги жазылган биринчи макалада. Эгер маалымат жарактуу болсо, анда колдонуучунун авторизациясы ийгиликтүү деп эсептелет.

Бул алгоритмдерди ишке ашыруу үчүн, сиз серверди жазуу үчүн колдонулган каалаган программалоо тилин колдоно аласыз.

Кийинки макалада биз Retoken плагини менен кантип иштөөнү карап чыгабыз.

Конул бурганын учун рахмат!

Source: www.habr.com

Комментарий кошуу