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 lasten certifikacijski center. Kako je lahko uporaben za naše namene?

Z lokalnim overiteljem lahko izdamo potrdila in tudi preverimo podpise na teh potrdilih.

Overitelj pri izdaji potrdila uporabniku uporabi posebno zahtevo za potrdilo Pkcs#10, ki ima format datoteke '.csr'. Ta zahteva vsebuje kodirano zaporedje, ki ga overitelj ve, kako pravilno razčleniti. Zahteva vsebuje tako javni ključ uporabnika kot podatke za izdelavo certifikata (asociativno polje s podatki o uporabniku).

Kako prejeti zahtevo za potrdilo, si bomo ogledali v naslednjem članku, v tem članku pa želim podati glavne ukaze overitelja potrdil, ki nam bodo pomagali opraviti našo nalogo na strani zaledja.

Torej, najprej moramo ustvariti potrdilo. Za to uporabimo ukaz:

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

ca je ukaz openSSL, ki se nanaša na overitelja potrdil,
-batch - prekliče potrditvene zahteve pri generiranju potrdila.
user.csr — zahteva za izdelavo certifikata (datoteka v formatu .csr).
user.crt - potrdilo (rezultat ukaza).

Da bi ta ukaz deloval, mora biti certifikacijski organ konfiguriran točno tako, kot je opisano v prejšnjem delu članka. 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 druge kriptografske operacije z uporabo openSSL.

-verify - v tem primeru preverimo potrdilo.

authenticate.cms - datoteka s podatki, podpisanimi s certifikatom, ki je bil izdan s prejšnjim ukazom.

-inform PEM - uporabljen je format PEM.

-CAfile /Users/……/demoCA/ca.crt - pot do korenskega potrdila. (brez tega mi ukaz ni deloval, čeprav so bile poti do ca.crt zapisane v datoteki openssl.cfg)

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

Algoritem za uporabo overitelja potrdil na zadnji strani je naslednji:

  • Registracija uporabnika:
    1. Prejmemo zahtevo za izdelavo potrdila in njegovo shranjevanje v datoteko user.csr.
    2. Prvi ukaz tega članka shranimo v datoteko s končnico .bat ali .cmd. To datoteko izvajamo iz kode, pri čemer smo predhodno shranili zahtevo za ustvarjanje potrdila v datoteko user.csr. Prejmemo datoteko s certifikatom user.crt.
    3. Preberemo datoteko user.crt in jo pošljemo odjemalcu.

  • Pooblastilo uporabnika:
    1. Od odjemalca prejmemo podpisane podatke in jih shranimo v datoteko authenticate.cms.
    2. Drugi ukaz tega članka shranite v datoteko s pripono .bat ali .cmd. To datoteko zaženemo iz kode, pri čemer smo predhodno shranili podpisane podatke s strežnika v authenticate.cms. Prejmemo datoteko z dešifriranimi podatki data.file.
    3. Preberemo data.file in preverimo veljavnost teh podatkov. Opisano je, kaj točno 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 ozadja.

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

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

Vir: www.habr.com

Dodaj komentar