Pieredze Rutoken tehnoloģijas izmantošanā lietotāju reģistrēšanai un autorizācijai sistēmā (3. daļa)

Laba diena!

Iepriekšējā daļā Esam veiksmīgi izveidojuši savu sertifikācijas centru. Kā tas var būt noderīgs mūsu mērķiem?

Izmantojot vietējo sertifikācijas iestādi, mēs varam izsniegt sertifikātus un arī pārbaudīt parakstus uz šiem sertifikātiem.

Izsniedzot lietotājam sertifikātu, sertifikācijas iestāde izmanto īpašu pieprasījumu Pkcs#10 sertifikāta izsniegšanai, kura faila formāts ir “.csr”. Šis pieprasījums satur kodētu secību, kuru sertifikācijas iestāde zina, kā pareizi parsēt. Pieprasījumā ir gan lietotāja publiskā atslēga, gan dati sertifikāta izveidošanai (asociatīvais masīvs ar datiem par lietotāju).

Kā saņemt sertifikāta pieprasījumu, mēs apskatīsim nākamajā rakstā, un šajā rakstā es vēlos sniegt galvenās sertifikācijas iestādes komandas, kas palīdzēs mums paveikt mūsu uzdevumu aizmugures pusē.

Tātad vispirms mums ir jāizveido sertifikāts. Lai to izdarītu, mēs izmantojam komandu:

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

ca ir openSSL komanda, kas attiecas uz sertifikācijas iestādi,
-batch - atceļ apstiprinājuma pieprasījumus, ģenerējot sertifikātu.
user.csr — pieprasījums izveidot sertifikātu (fails .csr formātā).
user.crt - sertifikāts (komandas rezultāts).

Lai šī komanda darbotos, sertifikācijas iestādei jābūt konfigurētai tieši tā, kā aprakstīts raksta iepriekšējā daļā. Pretējā gadījumā jums būs papildus jānorāda sertifikācijas iestādes saknes sertifikāta atrašanās vieta.

Sertifikāta verifikācijas komanda:

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

cms ir openSSL komanda, ko izmanto datu parakstīšanai, pārbaudei, šifrēšanai un citām kriptogrāfiskām darbībām, izmantojot openSSL.

-verify - šajā gadījumā mēs pārbaudām sertifikātu.

authenticate.cms - fails, kurā ir dati, kas parakstīti ar sertifikātu, kas izdots ar iepriekšējo komandu.

-informēt PEM - tiek izmantots PEM formāts.

-CAfile /Users/……/demoCA/ca.crt — ceļš uz saknes sertifikātu. (bez šī komanda man nedarbojās, lai gan ceļi uz ca.crt tika ierakstīti failā openssl.cfg)

-out data.file — es nosūtu atšifrētos datus uz failu data.file.

Algoritms sertifikācijas iestādes izmantošanai aizmugures pusē ir šāds:

  • Lietotāja reģistrācija:
    1. Mēs saņemam pieprasījumu izveidot sertifikātu un saglabāt to failā user.csr.
    2. Mēs saglabājam šī raksta pirmo komandu failā ar paplašinājumu .bat vai .cmd. Mēs palaižam šo failu no koda, iepriekš saglabājot pieprasījumu izveidot sertifikātu failā user.csr. Mēs saņemam failu ar user.crt sertifikātu.
    3. Mēs nolasām user.crt failu un nosūtām to klientam.

  • Lietotāja autorizācija:
    1. Mēs saņemam parakstītus datus no klienta un saglabājam tos failā authenticate.cms.
    2. Saglabājiet šī raksta otro komandu failā ar paplašinājumu .bat vai .cmd. Mēs palaižam šo failu no koda, iepriekš saglabājot parakstītos datus no servera autentifikāciju.cms. Mēs saņemam failu ar atšifrētiem datiem data.file.
    3. Mēs lasām data.file un pārbaudām šo datu derīgumu. Ir aprakstīts, kas tieši jāpārbauda pirmajā rakstā. Ja dati ir derīgi, lietotāja autorizācija tiek uzskatīta par veiksmīgu.

Lai ieviestu šos algoritmus, varat izmantot jebkuru programmēšanas valodu, kas tiek izmantota aizmugursistēmas rakstīšanai.

Nākamajā rakstā apskatīsim, kā strādāt ar spraudni Retoken.

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

Avots: www.habr.com

Pievieno komentāru