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

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster