Mirë dita! Të vazhdojmë të shqyrtojmë këtë temë ().
Sot do kalojmë në pjesën praktike. Të fillojmë me konfigurimin e qendrës suaj të autorizimit duke përdorur një bibliotekë të plotë të kriptografisë me kod burimi të hapur openSSL. Ky algoritëm është testuar duke përdorur Windows 7.
Duke instaluar openSSL, mund të kryejmë operacione të ndryshme kriptografike (p.sh., krijimi i çelqeve dhe certifikatave) përmes terminalit.
Algoritmi i veprimeve është si vijon:
- Shkarkoni paketën e instalimit openssl-1.1.1g.
OpenSSL ka versione të ndryshme. Në dokumentacionin e Rutoken është thënë se nevojitet një version i openSSL 1.1.0 ose më i ri. Unë kam përdorur versionin openssl-1.1.1g. Mund të shkarkoni openSSL nga faqja zyrtare, por për një instalim më të thjeshtë, duhet të gjeni skedarin e instalimit për Windows në internet. Unë e kam bërë këtë për ju:
Duhet të rrokullisni 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 që tregohet automatikisht në dosjen C:Program Files. Programi do të instalohet në dosjen OpenSSL-Win64. - Për të konfiguruar openSSL siç e dëshiron, ekziston skedari openssl.cfg. Ky skedar ndodhet në rrugën C:Program FilesOpenSSL-Win64bin nëse e keni instaluar openSSL ashtu siç është thënë në pikën e mëparshme. Shkoni në dosjen ku ruhet openssl.cfg dhe hapni këtë skedar duke përdorur, për shembull, Notepad++.
- Me siguri e keni kuptuar se konfigurimi i qendrës së autorizimit do të bëhet përmes ndryshimit të përmbajtjes së skedarit openssl.cfg, dhe jeni plotësisht të drejtë. Për këtë, kërkohet të konfigurohet komanda [ ca ]. Në skedarin openssl.cfg, teksti 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, ashtu siç është treguar në shembullin më sipër. Dhe të vendosni në këtë katalog në rrugën e specifikuar në dir (në rastin tim /Users/username/bin/openSSLca/demoCA).
ĂshtĂ« shumĂ« e rĂ«ndĂ«sishme tĂ« shkruhet saktĂ« dir - kjo Ă«shtĂ« rruga drejt direktorive ku do tĂ« jetĂ« qendra jonĂ« e certifikimit. Kjo direktorive duhet tĂ« jetĂ« patjetĂ«r brenda /Users (do thotĂ« nĂ« llogarinĂ« e ndonjĂ« pĂ«rdoruesi). NĂ«se kĂ«tĂ« direktorive e vendosim, pĂ«r shembull, nĂ« C:Program Files, sistemi nuk do ta shohĂ« fajlin me konfigurimet openssl.cfg (tĂ« paktĂ«n kĂ«shtu mĂ« ndodhi mua).
$dir - këtu vendoset rruga që tregohet në dir.
Një moment tjetër i rëndësishëm është krijimi i një fajli bosh index.txt; pa këtë fajl, komandat "openSSL ca ..." nuk do të funksionojnë.
Gjithashtu, është e nevojshme të kemi fajlin serial, çelësin privat të rrënjës (ca.key), dhe certifikatën e rrënjës (ca.crt). Procesi i marrjes së këtyre fajllave do të përshkruhet më tej.
- Lidhim algoritmet e enkriptimit të ofruara nga Rutoken.
Ky lidhje ndodh në fajlin openssl.cfg.- Së pari, nevojitet shkarkimi i algoritmeve të nevojshme nga Rutokeni. Këto janë fajlat rtengine.dll, rtpkcs11ecp.dll.
Për këtë, shkarkojmë Ruterken SDK: .Rutoken SDK - është gjithçka që ka për zhvilluesit, të cilët duan të provojnë Rutoken. Aty ka si shembuj të veçantë për punën me Rutoken-in në gjuhë të ndryshme programimi, ashtu dhe disa biblioteka të përfaqësuara. Bibliotekat tona rtengine.dll dhe rtpkcs11ecp.dll ndodhen në sdk 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 driverin për Rutoken-in. Gjithashtu, Rutoken-i duhet të lidhur patjetër me kompjuterin. (për instalimin e gjithçkaje të nevojshme për Rutoken, shiko pjesën e mëparshme të artikullit )
- Bibliotekat rtengine.dll dhe rtpkcs11ecp.dll mund të ruhen në çdo vend të llogarisë së përdoruesit.
- Shkruajmë rrugët për këto biblioteka në openssl.cfg. Për këtë, hapim fajlin openssl.cfg, në fillim të këtij fajlli duhet të vendosim rreshtin:
openssl_conf = openssl_defNë fund të fajlit duhet të shtojmë:
[ openssl_def ] engine = 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 â Ă«shtĂ« e nevojshme tĂ« shkruhet rruga juaj pĂ«r bibliotekĂ«n rtengine.dll.
MODULE_PATH - është e nevojshme të shkruhet rruga juaj për bibliotekën rtpkcs11ecp.dll.
- Së pari, nevojitet shkarkimi i algoritmeve të nevojshme nga Rutokeni. Këto janë fajlat rtengine.dll, rtpkcs11ecp.dll.
- Shtojmë variablat e mjedisit.
ĂshtĂ« e nevojshme tĂ« shtoni njĂ« variabĂ«l mjedisi 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ë variablen path duhet të tregoni rrugën për 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ë skedarët e nevojshëm për katalogun demoCA.
- Skedari i parë i rëndësishëm pa të cilin asgjë nuk do të punojë është serial. Ky është një skedar pa zgjerim, vlera e të cilit duhet të jetë 01. Mund ta krijoni këtë skedar vetë dhe ta shkruani brenda 01. Gjithashtu, mund ta shkarkoni nga RutoToken SDK në rrugën sdk/openssl/rtengine/samples/tool/demoCA/.
Në katalogun demoCA ndodhet skedari serial, i cili na nevojitet. - Krijojmë çelësin privat të rrënjës.
Për këtë, do të përdorim komandën e bibliotekës openSSL, që duhet të ekzekutohet drejtpërdrejt në komandën e linjës:openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key - Krijojmë certifikatin e rrënjës.
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.crtKujdes, për krijimin e certifikatit të rrënjës kërkohet çelësi privat i rrënjës që u krijua në hapat paraprak. Prandaj, komandat duhet të ekzekutohen në të njëjtën direktori.
Tani kemi të gjitha skedarët e nevojshëm për konfigurimin e plotë të katalogut demoCA. Vendosni skedarët e krijuar në katalogët që përmenden në pikën 5.
- Skedari i parë i rëndësishëm pa të cilin asgjë nuk do të punojë është serial. Ky është një skedar pa zgjerim, vlera e të cilit duhet të jetë 01. Mund ta krijoni këtë skedar vetë dhe ta shkruani brenda 01. Gjithashtu, mund ta shkarkoni nga RutoToken SDK në rrugën sdk/openssl/rtengine/samples/tool/demoCA/.
Le të konsiderojmë se pas përfundimit të të 8 pikave, autoriteti ynë i certifikimit është plotësisht i konfiguruar.
Në pjesën e ardhshme, do të tregoj se si do të punojmë me autoritetin e certifikimit për të realizuar atë që është përshkruar në .
Burimi: habr.com
