Mirëmëngjes!
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ë 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.filecms — 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:
- Merrni një kërkesë për krijimin e certifikatës dhe e ruani atë në skedarin user.csr.
- 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.
- Lexoni skedarin user.crt dhe dërgojeni atë në klient.
- Autorizimi i përdoruesit:
- Merrni të dhënat e nënshkruara nga klienti dhe ruani ato në skedarin authenticate.cms.
- 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.
- Lexoni data.file dhe kontrolloni këto të dhëna për vlefshmërinë. Çfarë të kontrolloni është përshkruar . 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
