Eksperienca e përdorimit të teknologjisë Rutoken për regjistrimin dhe autorizimin e përdoruesve në sistem (pjesa 3)

Mirë ditën!

Në pjesën e mëparshme Ne kemi krijuar me sukses qendrën tonë të besimit. Si mundet ajo të jetë e dobishme për qëllimet tona?

Me anë të qendrës lokale të besimit, ne mund të ndajmë certifikata dhe të realizojmë verifikimin e nënshkrimit sipas këtyre certifikatave.

Kur lĂ«shohet njĂ« certifikatĂ« pĂ«r pĂ«rdoruesin, qendra e besimit pĂ«rdor njĂ« kĂ«rkesĂ« tĂ« veçantĂ« pĂ«r lĂ«shimin e certifikatĂ«s Pkcs#10, e cila ka formatin e skedarit ‘.csr’. Kjo kĂ«rkesĂ« pĂ«rmban njĂ« sekuencĂ« tĂ« koduar, tĂ« cilĂ«n qendra e besimit e di si ta parse korrektisht. KĂ«rkesa pĂ«rmban si çelĂ«sin publik tĂ« pĂ«rdoruesit ashtu edhe tĂ« dhĂ«nat pĂ«r krijimin e certifikatĂ«s (njĂ« array asociativ me tĂ« dhĂ«nat e pĂ«rdoruesit).

Si ta marrim kërkesën për lëshimin e certifikatës, do ta shqyrtojmë në artikullin e ardhshëm, ndërsa në këtë tregoj komandat kryesore të qendrës së besimit, që do na ndihmojnë të realizojmë detyrën tonë në anën e backend.

Pra, në fillim duhet të krijojmë certifikatën. Për këtë do të përdorim komandën:

openssl ca -batch -in user.csr -out user.crt

ca — komanda openSSL, e cila i pĂ«rket qendrĂ«s sĂ« besimit,
-batch — anullohet kĂ«rkesa pĂ«r konfirmimin gjatĂ« formimit tĂ« certifikatĂ«s.
user.csr — kĂ«rkesĂ« pĂ«r krijimin e certifikatĂ«s (skedari me format .csr).
user.crt — certifikata (rezultati i marrĂ« nga komanda).

Për të punuar kjo komandë, qendra e besimit duhet të jetë e konfiguruar saktësisht siç është përshkruar në pjesën e mëparshme të artikullit.Mndryshe, do të duhet të saktësoni vendndodhjen e certifikatës rrënjësore të qendrës së besimit.

Komanda e verifikimit të certifikatës:

openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/

/demoCA/ca.crt -out data.file

cms — komanda openSSL, e cila pĂ«rdoret pĂ«r nĂ«nshkrim, verifikim, enkriptimin e tĂ« dhĂ«nave dhe operacione tĂ« tjera kriptografike me anĂ« tĂ« openSSL.

-verify — nĂ« kĂ«tĂ« rast po realizojmĂ« verifikimin e certifikatĂ«s.

authenticate.cms — skedari qĂ« pĂ«rmban tĂ« dhĂ«na tĂ« nĂ«nshkruara nga certifikata, e cila u lĂ«shua nga komanda e mĂ«parshme.

-inform PEM — pĂ«rdoret formati PEM.

-CAfile /Users/

/demoCA/ca.crt — rruga drejt certifikatĂ«s rrĂ«njĂ«sore. (pa kĂ«tĂ« komanda nuk funksionoi pĂ«r mua, edhe pse ishin tĂ« shkruara rrugĂ«t drejt ca.crt nĂ« skedarin openssl.cfg)

-out data.file — tĂ« dhĂ«nat e dekoduara i dĂ«rgoj nĂ« skedarin data.file.

Algoritmi i përdorimit të qendrës së besimit në anën e backend është si vijon:

  • Regjistrimi i pĂ«rdoruesit:
    1. Marrim kërkesën për krijimin e certifikatës dhe e ruajmë atë në skedarin user.csr.
    2. Ruajmë komandën e parë të këtij artikulli në një skedar me zgjatjen .bat ose .cmd. E ekzekutojmë këtë skedar nga kodi, pasi të kemi ruajtur kërkesën për krijimin e certifikatës në skedarin user.csr. Marrim skedarin me certifikatën user.crt.
    3. Lexojmë skedarin user.crt dhe e dërgojmë atë në klient.

  • Autorizimi i pĂ«rdoruesit:
    1. Marrim të dhënat e nënshkruara nga klienti dhe i ruajmë ato në skedarin authenticate.cms.
    2. Ruajmë komandën e dytë të këtij artikulli në një skedar me zgjatjen .bat ose .cmd. E ekzekutojmë këtë skedar nga kodi, pasi të kemi ruajtur të dhënat e nënshkruara nga serveri në authenticate.cms. Marrim skedarin me të dhënat e dekriptuara data.file.
    3. LexojmĂ« data.file dhe verifikojmĂ« kĂ«to tĂ« dhĂ«na pĂ«r vlefshmĂ«rinĂ«. ÇfarĂ« saktĂ«sisht tĂ« kontrollojmĂ« Ă«shtĂ« pĂ«rshkruar nĂ« artikullin e parĂ«. NĂ«se tĂ« dhĂ«nat janĂ« tĂ« vlefshme, atĂ«herĂ« autorizimi i pĂ«rdoruesit konsiderohet i suksesshĂ«m.

Për realizimin e këtyre algoritmeve mund të përdoret çdo gjuhë programimi që përdoret për të shkruar backend-in.

Në artikullin e ardhshëm do të shqyrtojmë se si të punojmë me plug-in-in Rutoken.

Faleminderit për vëmendjen!

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