Dober dan!
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 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:
- Prejmemo zahtevo za izdelavo potrdila in njegovo shranjevanje v datoteko user.csr.
- 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.
- Preberemo datoteko user.crt in jo pošljemo odjemalcu.
- Uporabniška avtorizacija:
- Od odjemalca prejmemo podpisane podatke in jih shranimo v datoteko authenticate.cms.
- 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.
- Preberemo datoteko data.file in preverimo njeno veljavnost. Opisano je, kaj točno je treba preveriti. Č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
