Mirëmëngjes! Do të vazhdojmë të shqyrtojmë këtë temë ().
Sot do të kalojmë në pjesën praktike. Të fillojmë me konfigurimin e qendrës tonë të certifikimit të bazuar në një bibliotekë kriptografike me kod burimi të hapur openSSL. Ky algoritëm ka funksionuar në sistemin Windows 7.
Pasi të instalojmë openSSL, mund të kryejmë operacione të ndryshme kriptografike (për shembull, krijimin e çelësave dhe certifikatave) përmes komandës në terminal.
Procedura është si më poshtë:
- Shkarkoni paketën instalueset openssl-1.1.1g.
OpenSSL ka versione të ndryshme. Në dokumentacionin për RUT token është thënë se nevojitet versioni 1.1.0 apo më i ri i openSSL. Unë përdora versionin openssl-1.1.1g. Mund të shkarkoni openSSL nga faqja zyrtare, por për një instalim më të lehtë duhet të gjeni skedarin instalues për Windows në internet. Unë e kam bërë këtë për ju:
Duhet të rrokni poshtë faqes dhe të shkarkoni Win64 OpenSSL v1.1.1g EXE 63MB Installer. - Instaloni openssl-1.1.1g në kompjuter.
Instalimi duhet të kryhet në rrugën standarde, e cila tregohet automatikisht në dosjen C:Program Files. Programi do të instalohet në dosjen OpenSSL-Win64. - Për të konfigurimin openSSL sipas nevojave tuaja, ekziston skedari openssl.cfg. Ky skedar ndodhet në rrugën C:Program FilesOpenSSL-Win64bin nëse e keni instaluar openSSL siç është thënë në pikën e mëparshme. Shkoni në dosjen ku ndodhet openssl.cfg dhe hapni këtë skedar duke përdorur, për shembull, Notepad++.
- Ka të ngjarë se keni kuptuar që konfigurimi i qendrës së certifikimit do të bëhet duke ndryshuar përmbajtjen e skedarit openssl.cfg, dhe jeni plotësisht të saktë. Për këtë, duhet të konfigurojmë komandën [ ca ]. Në skedarin openssl.cfg, fillimi i tekstit ku do të bëjmë ndryshimet mund të gjendet si: [ ca ].
- Tani do të jap një shembull të konfigurimit me përshkrimin e tij:
[ ca ] default_ca = CA_default [ CA_default ] dir = /Users/username/bin/openSSLca/demoCA certs = $dir/certs crl_dir = $dir/crl database = $dir/index.txt new_certs_dir = $dir/newcerts certificate = $dir/ca.crt serial = $dir/private/serial crlnumber = $dir/crlnumber crl = $dir/crl.pem private_key = $dir/private/ca.key x509_extensions = usr_certTani është e nevojshme të krijoni katalogun demoCA dhe nënkatalogët, siç është treguar në shembullin e mësipërm. Dhe të vendosni këtë katalog në rrugën që është e përcaktuar në dir (në rastin tim /Users/username/bin/openSSLca/demoCA).
ĂshtĂ« shumĂ« e rĂ«ndĂ«sishme tĂ« shkruani saktĂ« dir â kjo Ă«shtĂ« rruga drejt direktorisĂ«, nĂ« tĂ« cilĂ«n do tĂ« ndodhet qendra jonĂ« e certifikimit. Kjo direktori duhet patjetĂ«r tĂ« jetĂ« nĂ« /Users (pra, nĂ« llogarinĂ« e ndonjĂ« pĂ«rdoruesi). NĂ«se e vendosni kĂ«tĂ« direktori pĂ«r shembull nĂ« C:Program Files, sistemi nuk do ta shohĂ« skedarin me konfigurimet openssl.cfg (tĂ« paktĂ«n kĂ«shtu mĂ« ndodhi mua).
$dir â kĂ«tu do tĂ« vendoset rruga qĂ« Ă«shtĂ« e pĂ«rcaktuar nĂ« dir.
Një pikë tjetër e rëndësishme është krijimi i një skedari bosh index.txt, pa këtë skedar komandat "openSSL ca ..." nuk do të funksionojnë.
Po potrzebë për të pasur një skedar serial, çelësin privat rrënor (ca.key), dhe certifikatën rrënore (ca.crt). Procesi i marrjes së këtyre skedareve do të përshkruhet më vonë.
- Lidhim algoritmet e enkriptimit që ofrohen nga Rutoken.
Kjo lidhje ndodh në skedarin openssl.cfg.- Së pari, duhet të shkarkojmë algoritmet e nevojshme të Rutoken. Këto janë skedarët rtengine.dll, rtpkcs11ecp.dll.
Për këtë, shkarkojmë SDK e Rutoken: .SDK e Rutoken është gjithçka që ekziston për zhvilluesit që duan të provojnë Rutoken. Aty ka si shembuj të veçantë për punën me Rutoken në gjuhë të ndryshme programimi, ashtu si dhe disa biblioteka. Bibliotekat tona rtengine.dll dhe rtpkcs11ecp.dll ndodhen në SDK e Rutoken përkatësisht në vendndodhjen:
sdk/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
sdk/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dllNjë moment shumë i rëndësishëm. Bibliotekat rtengine.dll, rtpkcs11ecp.dll nuk funksionojnë pa instaluar drejtuesin për Rutokenin. Po ashtu, Rutokeni duhet të jetë i lidhur me kompjuterin. (për instalimin e gjithçkaje të nevojshme për Rutoken, shiko në pjesën e mëparshme të artikullit )
- Bibliotekat rtengine.dll dhe rtpkcs11ecp.dll mund të mbahen në çdo vend në llogarinë e përdoruesit.
- Shkruajmë rrugët për këto biblioteka në openssl.cfg. Për këtë, hapim skedarin openssl.cfg, në fillim të këtij skedari duhet të vendosim rreshtin:
openssl_conf = openssl_defNë fund të skedarit duhet të shtojmë:
[ openssl_def ] engines = engine_section [ engine_section ] rtengine = gost_section [ gost_section ] dynamic_path = /Users/username/bin/sdk-rutoken/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll MODULE_PATH = /Users/username/bin/sdk-rutoken/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dll RAND_TOKEN = pkcs11:manufacturer=AktivCo.;model=RutokenECP default_algorithms = CIPHERS, DIGEST, PKEY, RANDdynamic_path â duhet tĂ« shĂ«noni rrugĂ«n tuaj pĂ«r bibliotekĂ«n rtengine.dll.
MODULE_PATH â duhet tĂ« shĂ«noni rrugĂ«n tuaj pĂ«r bibliotekĂ«n rtpkcs11ecp.dll.
- Së pari, duhet të shkarkojmë algoritmet e nevojshme të Rutoken. Këto janë skedarët rtengine.dll, rtpkcs11ecp.dll.
- Shtojmë variabla ambienti.
Patjetër duhet të shtoni një variabël ambienti që tregon rrugën për skedarin e konfigurimit openssl.cfg. Në rastin tim u krijua variabla OPENSSL_CONF me rrugën C:Program FilesOpenSSL-Win64binopenssl.cfg.
Në variablën path duhet të tregoni rrugën deri në dosjen ku ndodhet openssl.exe, në rastin tim kjo është: C:Program FilesOpenSSL-Win64bin.
- Tani mund të kthehemi në pikën 5 dhe të krijojmë skedaret e munguara për katalogun demoCA.
- Skedari i parĂ« i rĂ«ndĂ«sishĂ«m pa tĂ« cilin asgjĂ« nuk do tĂ« funksionojĂ« â serial. Ky Ă«shtĂ« njĂ« skedar pa zgjerim, vlere e tĂ« cilit duhet tĂ« jetĂ« 01. Mund ta krijoni kĂ«tĂ« skedar vetĂ« dhe tĂ« shkruani brenda 01. Po ashtu mund ta shkarkoni atĂ« nga SDK e Rutoken nĂ« rrugĂ«n sdk/openssl/rtengine/samples/tool/demoCA/.
Në katalogun demoCA ndodhet skedari serial, i cili na nevojitet. - Krijojmë çelësin privat rrënor.
Për këtë do të përdorim komandën e bibliotekës openSSL, e cila duhet të ekzekutohet direkt në komandën:openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key - Krijojmë certifikatën rrënore.
Për këtë do të përdorim komandën e mëposhtme të bibliotekës openSSL:openssl req -utf8 -x509 -key ca.key -out ca.crtVini re bënë se krijimi i një certifikate rrënjësore kërkon çelësin privat rrënjor, i cili u krijua në hapin e mëparshëm. Prandaj, lini komandën në të njëjtën direktori.
Tani të gjitha skedarët e nevojshëm për konfigurimin e plotë të katalogut demoCA janë të disponueshëm. Vendosni skedarët e krijuar në katalogët e specifikuar në pikën 5.
- Skedari i parĂ« i rĂ«ndĂ«sishĂ«m pa tĂ« cilin asgjĂ« nuk do tĂ« funksionojĂ« â serial. Ky Ă«shtĂ« njĂ« skedar pa zgjerim, vlere e tĂ« cilit duhet tĂ« jetĂ« 01. Mund ta krijoni kĂ«tĂ« skedar vetĂ« dhe tĂ« shkruani brenda 01. Po ashtu mund ta shkarkoni atĂ« nga SDK e Rutoken nĂ« rrugĂ«n sdk/openssl/rtengine/samples/tool/demoCA/.
Të supozojmë se pas përfundimit të 8 pikave, autoriteti ynë i certifikimit është plotësisht i konfiguruar.
Në pjesën tjetër, do të flas për mënyrën se si do të punojmë me autoritetin e certifikimit për të realizuar atë që u përmend në .
Burimi: habr.com
