Përvoja e aplikimit të teknologjisë RUTOKEN për regjistrimin dhe autorizimin e përdoruesve në sistem (pjesa 2)

Mirë dita! Të vazhdojmë të shqyrtojmë këtë temë (pjesa e mëparshme mund të gjendet përmes lidhjes).

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:

  1. 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: slproweb.com/products/Win32OpenSSL.html
    Duhet të rrokullisni poshtë faqes dhe të shkarkoni Win64 OpenSSL v1.1.1g EXE 63MB Installer.
  2. 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.
  3. 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++.
  4. 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 ].
  5. 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_cert
    

    Tani ë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.

  6. 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: www.rutoken.ru/developers/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.dll

      Një 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 habr.com/ru/post/506450)

    • 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_def

      Në 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, RAND
      

      dynamic_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.

  7. 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.

  8. Tani mund të kthehemi në pikën 5 dhe të krijojmë skedarët e nevojshëm për katalogun demoCA.
    1. 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.
    2. 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

    3. 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.crt

      Kujdes, 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.

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ë pjesën e mëparshme të artikullit..

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster