Бүгүн биз практикалык бөлүгүнө өтөбүз. Келгиле, толук кандуу ачык булактуу криптографиялык китепкана openSSL негизинде биздин CA орнотуудан баштайлы. Бул алгоритм Windows 7 аркылуу сыналган.
OpenSSL орнотулганда, биз буйрук сабы аркылуу ар кандай криптографиялык операцияларды (мисалы, ачкычтарды жана сертификаттарды түзүү) аткара алабыз.
Аракеттердин алгоритми төмөнкүчө:
Openssl-1.1.1g орнотуу бөлүштүрүүнү жүктөп алыңыз.
openSSL ар кандай версиялары бар. Rutoken үчүн документтер openSSL 1.1.0 же андан жаңыраак версиясы талап кылынат деп айтылат. Мен openssl-1.1.1g версиясын колдондум. Сиз расмий сайттан openSSL жүктөй аласыз, бирок орнотууну жеңилдетүү үчүн, сиз тармактан Windows үчүн орнотуу файлын табышыңыз керек. Мен муну сен үчүн жасадым: slproweb.com/products/Win32OpenSSL.html
Баракты ылдый жылдырып, Win64 OpenSSL v1.1.1g EXE 63MB Орноткучту жүктөп алыңыз.
Компьютерге openssl-1.1.1g орнотуу.
Орнотуу C: Program Files папкасында автоматтык түрдө көрсөтүлгөн стандарттык жол боюнча жүргүзүлүшү керек. Программа OpenSSL-Win64 папкасына орнотулат.
OpenSSLди сизге керектүү жол менен орнотуу үчүн openssl.cfg файлы бар. Бул файл C:\Program Files\OpenSSL-Win64bin жолунда жайгашкан, эгерде сиз мурунку абзацта сүрөттөлгөндөй openSSL орнотсоңуз. openssl.cfg сакталган папкага өтүңүз жана бул файлды, мисалы, Notepad++ аркылуу ачыңыз.
Сиз күбөлүк органы openssl.cfg файлынын мазмунун өзгөртүү аркылуу кандайдыр бир жол менен конфигурацияланат деп ойлогон чыгарсыз жана сиз таптакыр туурасыз. Бул [ ca ] буйругун ыңгайлаштырууну талап кылат. Openssl.cfg файлында биз өзгөртүү киргизе турган тексттин башталышын төмөнкүдөй тапса болот: [ ca ].
Эми мен анын сүрөттөлүшү менен жөндөөнүн мисалын берем:
Эми биз жогорудагы мисалда көрсөтүлгөндөй demoCA каталогун жана подкаталогдорун түзүшүбүз керек. Жана аны бул каталогго dirде көрсөтүлгөн жол боюнча жайгаштырыңыз (менде /Users/username/bin/openSSLca/demoCA).
Дирди туура жазуу абдан маанилүү - бул биздин сертификация борбору жайгашкан каталогдун жолу. Бул каталог /Users (башкача айтканда, кээ бир колдонуучунун аккаунтунда) жайгашкан болушу керек. Эгер сиз бул каталогду, мисалы, C: Program Files ичинде жайгаштырсаңыз, система openssl.cfg орнотуулары менен файлды көрбөйт (жок дегенде мен үчүн ушундай болгон).
$dir - dirде көрсөтүлгөн жол бул жерде алмаштырылат.
Дагы бир маанилүү жагдай - бош index.txt файлын түзүү, бул файлсыз "openSSL ca ..." буйруктары иштебейт.
Ошондой эле сизде сериялык файл, түпкү купуя ачкыч (ca.key), тамыр сертификаты (ca.crt) болушу керек. Бул файлдарды алуу процесси төмөндө сүрөттөлөт.
Биз Rutoken тарабынан берилген шифрлөө алгоритмдерин туташтырабыз.
Бул байланыш openssl.cfg файлында ишке ашат.
Биринчиден, сиз керектүү Rutoken алгоритмдерин жүктөп алышыңыз керек. Бул rtengine.dll, rtpkcs11ecp.dll файлдары.
Бул үчүн, Rutoken SDK жүктөп алыңыз: www.rutoken.ru/developers/sdk.
Rutoken SDK Rutokenди сынап көргүсү келген иштеп чыгуучулар үчүн бардыгы бар. Ар кандай программалоо тилдеринде Rutoken менен иштөө үчүн өзүнчө мисалдар бар жана кээ бир китепканалар берилген. Биздин китепканалар rtengine.dll жана rtpkcs11ecp.dll тиешелүүлүгүнө жараша Rutoken sdk ичинде жайгашкан:
Абдан маанилүү пункт. rtengine.dll, rtpkcs11ecp.dll китепканалары Rutoken үчүн орнотулган драйверсиз иштебейт. Ошондой эле Rutoken компьютерге туташкан болушу керек. (Rutoken үчүн керектүү нерселердин баарын орнотуу үчүн, макаланын мурунку бөлүгүн караңыз habr.com/en/post/506450)
Rtengine.dll жана rtpkcs11ecp.dll китепканалары колдонуучунун каттоо эсебинин каалаган жеринде сакталышы мүмкүн.
Бул китепканалардын жолдорун openssl.cfg дарегине жазабыз. Бул үчүн, openssl.cfg файлын ачып, бул файлдын башына сапты коюңуз:
dynamic_path - rtengine.dll китепканасына жолуңузду көрсөтүшүңүз керек.
MODULE_PATH - сиз rtpkcs11ecp.dll китепканасына жолуңузду коюшуңуз керек.
Айлана-чөйрө өзгөрмөлөрүн кошуу.
openssl.cfg конфигурация файлына жолду көрсөткөн чөйрө өзгөрмөсүн кошууну унутпаңыз. Менин учурда, OPENSSL_CONF өзгөрмөсү C:Program FilesOpenSSL-Win64binopenssl.cfg жолу менен түзүлгөн.
Жол өзгөрмөсүндө openssl.exe жайгашкан папкага жолду көрсөтүшүңүз керек, менин учурда бул: C: Program FilesOpenSSL-Win64bin.
Эми сиз 5-кадамга кайрылып, demoCA каталогу үчүн жетишпеген файлдарды түзө аласыз.
Биринчи маанилүү файл, ансыз эч нерсе иштебейт. Бул кеңейтүүсү жок файл, анын мааниси 01 болушу керек. Бул файлды өзүңүз түзүп, ичине 01 деп жазсаңыз болот. Аны Rutoken SDKсынан sdk/openssl/rtengine/samples/tool/demoCA жолу боюнча жүктөп алсаңыз болот. /.
DemoCA каталогу сериялык файлды камтыйт, ал бизге керектүү нерсе.
Түпкү купуя ачкычты түзүңүз.
Бул үчүн, биз түздөн-түз буйрук сабында иштетилиши керек болгон openSSL китепкана буйругун колдонобуз:
Биз түпкү сертификатты түзөбүз.
Бул үчүн, төмөнкү openSSL китепкана буйругун колдонуңуз:
openssl req -utf8 -x509 -key ca.key -out ca.crt
Мурунку кадамда түзүлгөн түпкү купуя ачкыч тамыр сертификатын түзүү үчүн талап кылынарын эске алыңыз. Ошондуктан, буйрук сабын ошол эле каталогдо ишке киргизүү керек.
Баары азыр demoCA каталогун толук конфигурациялоо үчүн бардык жетишпеген файлдарды камтыйт. Түзүлгөн файлдарды 5-пунктта көрсөтүлгөн каталогдорго жайгаштырыңыз.
Бардык 8 пунктту толтургандан кийин, биздин сертификаттоо борборубуз толугу менен конфигурацияланган деп ойлойбуз.
Кийинки бөлүктө мен бул бөлүмдө айтылгандарды аткаруу үчүн сертификаттоо органы менен кантип иштешээрибизди сүрөттөп берем. макаланын мурунку бөлүгү.