Izkušnje z uporabo tehnologije Rutoken za registracijo in avtorizacijo uporabnikov v sistemu (3. del)

Dober dan!

V prejšnjem delu Uspešno smo ustvarili lastno overiteljsko agencijo. Kako nam lahko koristi?

Z uporabo lokalnega overitelja lahko izdajamo potrdila in preverjamo podpise na teh potrdilih.

Pri izdaji potrdila uporabniku overitelj uporabi posebno zahtevo za potrdilo (Pkcs#10) v obliki datoteke '.csr'. Ta zahteva vsebuje kodirano zaporedje, ki ga overitelj zna pravilno razčleniti. Zahteva vsebuje tako javni ključ uporabnika kot podatke za ustvarjanje potrdila (asociativno polje z uporabniškimi podatki).

V naslednjem članku bomo obravnavali, kako pridobiti zahtevo za potrdilo, v tem pa bi rad predstavil osnovne ukaze CA, ki nam bodo pomagali dokončati našo nalogo v zaledju.

Najprej moramo ustvariti potrdilo. Za to uporabimo ukaz:

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

ca je ukaz openSSL, ki se sklicuje na overitelja potrdil,
-batch — prekliče zahteve za potrditev pri ustvarjanju potrdila.
user.csr — zahteva za izdelavo potrdila (datoteka .csr).
user.crt — potrdilo (rezultat ukaza).

Da bi ta ukaz deloval, mora biti CA konfiguriran natančno tako, kot je opisano. v prejšnjem delu člankaV nasprotnem primeru boste morali dodatno določiti lokacijo korenskega potrdila overitelja.

Ukaz za preverjanje potrdila:

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

cms je ukaz openSSL, ki se uporablja za podpisovanje, preverjanje, šifriranje podatkov in izvajanje drugih kriptografskih operacij z uporabo openSSL.

-verify — v tem primeru preverimo potrdilo.

authenticate.cms je datoteka, ki vsebuje podpisane podatke s potrdilom, izdanim s prejšnjim ukazom.

-inform PEM — uporablja se format PEM.

-CAfile /Users/……/demoCA/ca.crt — pot do korenskega potrdila. (Brez tega ukaz pri meni ni deloval, čeprav je pot do ca.crt navedena v datoteki openssl.cfg.)

-out data.file — Dešifrirane podatke pošljem v datoteko data.file.

Algoritem za uporabo overitelja na strani zalednega sistema je naslednji:

  • Registracija uporabnika:
    1. Prejmemo zahtevo za izdelavo potrdila in njegovo shranjevanje v datoteko user.csr.
    2. Prvi ukaz v tem članku shranite kot datoteko .bat ali .cmd. To datoteko zaženite iz kode, potem ko ste najprej shranili zahtevo za ustvarjanje potrdila v datoteko user.csr. S tem boste ustvarili datoteko potrdila user.crt.
    3. Preberemo datoteko user.crt in jo pošljemo odjemalcu.

  • Uporabniška avtorizacija:
    1. Od odjemalca prejmemo podpisane podatke in jih shranimo v datoteko authenticate.cms.
    2. Drugi ukaz v tem članku shranite kot datoteko .bat ali .cmd. To datoteko zaženite iz kode, potem ko ste najprej shranili podpisane podatke s strežnika v datoteko authenticate.cms. Nastala datoteka z dešifriranimi podatki je data.file.
    3. Preberemo datoteko data.file in preverimo njeno veljavnost. Opisano je, kaj točno je treba preveriti. v prvem člankuČe so podatki veljavni, se avtorizacija uporabnika šteje za uspešno.

Za implementacijo teh algoritmov lahko uporabite kateri koli programski jezik, ki se uporablja za pisanje zalednega sistema.

V naslednjem članku si bomo ogledali, kako delati z vtičnikom Retoken.

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

Vir: www.habr.com

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster