Përvojë në përdorimin e teknologjisë Rutoken për regjistrimin dhe autorizimin e përdoruesve në sistem (pjesa 3)

Mirëdita!

Në pjesën e mëparshme Ne kemi krijuar me sukses qendrën tonë të certifikimit. Si mund të jetë i dobishëm për qëllimet tona?

Duke përdorur një autoritet lokal certifikimi, ne mund të lëshojmë certifikata dhe gjithashtu të verifikojmë nënshkrimet në këto certifikata.

Kur lëshon një certifikatë për një përdorues, autoriteti certifikues përdor një kërkesë speciale për certifikatë Pkcs#10, e cila ka formatin e skedarit '.csr'. Kjo kërkesë përmban një sekuencë të koduar që autoriteti i certifikimit di ta analizojë saktë. Kërkesa përmban çelësin publik të përdoruesit dhe të dhëna për krijimin e një certifikate (një grup shoqërues me të dhëna rreth përdoruesit).

Ne do të shikojmë se si të marrim një kërkesë për një certifikatë në artikullin tjetër, dhe në këtë artikull dua të jap komandat kryesore të autoritetit të certifikimit që do të na ndihmojnë të përfundojmë detyrën tonë në anën e pasme.

Pra, së pari duhet të krijojmë një certifikatë. Për ta bërë këtë përdorim komandën:

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

ca është komanda openSSL që lidhet me autoritetin e certifikimit,
-batch - anulon kërkesat për konfirmim kur krijon një certifikatë.
user.csr — kërkesë për të krijuar një certifikatë (skedar në formatin .csr).
user.crt - certifikatë (rezultati i komandës).

Në mënyrë që kjo komandë të funksionojë, autoriteti i certifikimit duhet të konfigurohet saktësisht siç përshkruhet në pjesën e mëparshme të artikullit. Përndryshe, do të duhet të specifikoni gjithashtu vendndodhjen e certifikatës rrënjësore të autoritetit të certifikimit.

Komanda e verifikimit të certifikatës:

openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/……/demoCA/ca.crt -out data.file

cms është një komandë openSSL që përdoret për nënshkrimin, verifikimin, enkriptimin e të dhënave dhe operacione të tjera kriptografike duke përdorur openSSL.

-verify - në këtë rast, ne verifikojmë certifikatën.

authenticate.cms - një skedar që përmban të dhëna të nënshkruara me certifikatën që është lëshuar nga komanda e mëparshme.

-inform PEM - përdoret formati PEM.

-CAfile /Users/……/demoCA/ca.crt - rruga për në certifikatën rrënjë. (pa këtë komanda nuk funksionoi për mua, megjithëse shtigjet për në ca.crt ishin shkruar në skedarin openssl.cfg)

-out data.file — Unë dërgoj të dhënat e deshifruara në skedarin data.file.

Algoritmi për përdorimin e një autoriteti certifikimi në anën e pasme është si më poshtë:

  • Regjistrimi i përdoruesit:
    1. Ne marrim një kërkesë për të krijuar një certifikatë dhe për ta ruajtur atë në skedarin user.csr.
    2. Ne e ruajmë komandën e parë të këtij artikulli në një skedar me shtesën .bat ose .cmd. Ne e ekzekutojmë këtë skedar nga kodi, pasi e kemi ruajtur më parë kërkesën për të krijuar një certifikatë në skedarin user.csr. Ne marrim një skedar me certifikatën user.crt.
    3. Ne lexojmë skedarin user.crt dhe ia dërgojmë klientit.

  • Autorizimi i përdoruesit:
    1. Ne marrim të dhëna të nënshkruara nga klienti dhe i ruajmë në skedarin authenticate.cms.
    2. Ruani komandën e dytë të këtij artikulli në një skedar me shtesën .bat ose .cmd. Ne e ekzekutojmë këtë skedar nga kodi, pasi i kemi ruajtur më parë të dhënat e nënshkruara nga serveri në authenticate.cms. Ne marrim një skedar me të dhëna të deshifruara data.file.
    3. Ne lexojmë data.file dhe i kontrollojmë këto të dhëna për vlefshmëri. Çfarë saktësisht duhet 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 të zbatuar këto algoritme, mund të përdorni çdo gjuhë programimi që përdoret për të shkruar backend.

Në artikullin vijues do të shikojmë se si të punojmë me shtojcën Retoken.

Спасибо за внимание!

Burimi: www.habr.com

Shto një koment