Përvoja e përdorimit të teknologjisë Rutoken për regjistrimin dhe autentifikimin e përdoruesve në sistem (pjesa 3)

Mirëmëngjes!

Në pjesën e kaluar ne kemi krijuar me sukses qendrën tonë të besueshmërisë. Sa e dobishme mund të jetë ajo për ne?

Me anë të qendrës lokale të besueshmërisë, mund të lëshojmë certifikata dhe gjithashtu të kryejmë verifikimin e nënshkrimeve për këto certifikata.

GjatĂ« lĂ«shimit tĂ« njĂ« certifikate pĂ«r pĂ«rdoruesin, qendra e besueshmĂ«risĂ« pĂ«rdor njĂ« kĂ«rkesĂ« speciale pĂ«r lĂ«shimin e certifikatĂ«s Pkcs#10, qĂ« ka formatin e skedarit ‘.csr’. Kjo kĂ«rkesĂ« pĂ«rmban njĂ« sekuencĂ« tĂ« koduar, qĂ« qendra e besueshmĂ«risĂ« e di si ta interpretojĂ« nĂ« mĂ«nyrĂ« tĂ« saktĂ«. 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 mbi pĂ«rdoruesin).

Mënyra se si të marrim kërkesën për lëshimin e certifikatës do ta shqyrtojmë në artikullin e ardhshëm, ndërsa në këtë artikull dëshiroj të sjell komandat kryesore të qendrës së besueshmërisë, që do të na ndihmojnë të realizojmë detyrën tonë në anën e backend-it.

Pra, fillimisht 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 qĂ« i pĂ«rket qendrĂ«s sĂ« besueshmĂ«risĂ«,
-batch — anullon kĂ«rkesat pĂ«r konfirmim gjatĂ« formimit tĂ« certifikatĂ«s.
user.csr — kĂ«rkesĂ« pĂ«r krijimin e njĂ« certifikate (skedari i formatit .csr).
user.crt — certifikata (rezultati i marrĂ« nga komanda).

Për që kjo komandë të funksionojë, autoriteti i certifikimit duhet të jetë i konfiguruar pikërisht siç është përshkruar në pjesën e mëparshme të artikullit.Në të kundërt, do të duhet të tregoni shtesë vendndodhjen e certifikatës rrënjë të autoritetit të certifikimit.

Komanda për verifikimin e certifikatës:

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

/demoCA/ca.crt -out data.file

cms — komandĂ« e openSSL, qĂ« pĂ«rdoret pĂ«r nĂ«nshkrimin, verifikimin, enkriptimin e tĂ« dhĂ«nave dhe operacione tĂ« tjera kriptografike me openSSL.

-verify — nĂ« kĂ«tĂ« rast po verifikojmĂ« certifikatĂ«n.

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

-inform PEM — pĂ«rdoret formati PEM.

-CAfile /Users/

/demoCA/ca.crt — rruga nĂ« certifikatĂ«n rrĂ«njĂ«. (pa kĂ«tĂ« komanda nuk funksionoi, megjithĂ«se janĂ« shkruar rrugĂ«t pĂ«r ca.crt nĂ« skedarin openssl.cfg)

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

Algoritmi i aplikimit të autoritetit të certifikimit nga ana e backend-it është si më poshtë:

  • Regjistrimi i pĂ«rdoruesit:
    1. Merrni një kërkesë për krijimin e certifikatës dhe e ruani atë në skedarin user.csr.
    2. Ruani komandën e parë të këtij artikulli në një skedar me zgjatjen .bat ose .cmd. Ekzekutoni këtë skedar nga kodi, pasi të keni ruajtur kërkesën për krijimin e certifikatës në skedarin user.csr. Merrni skedarin me certifikatën user.crt.
    3. Lexoni skedarin user.crt dhe dërgojeni atë në klient.

  • Autorizimi i pĂ«rdoruesit:
    1. Merrni të dhënat e nënshkruara nga klienti dhe ruani ato në skedarin authenticate.cms.
    2. Ruani komandën e dytë të këtij artikulli në një skedar me zgjatjen .bat ose .cmd. Ekzekutoni këtë skedar nga kodi, pasi të keni ruajtur të dhënat e nënshkruara nga serveri në authenticate.cms. Merrni skedarin me të dhënat e dekoduara data.file.
    3. Lexoni data.file dhe kontrolloni kĂ«to tĂ« dhĂ«na pĂ«r vlefshmĂ«rinĂ«. ÇfarĂ« tĂ« kontrolloni Ă«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ërdorni çdo gjuhë programimi që përdoret për shkrimin e backend-it.

Në artikullin e ardhshëm do të merremi me mënyrën se si të punoni me plug-in Retoken.

Faleminderit për vëmendjen!

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster