Iskustvo u korištenju Rutoken tehnologije za registraciju i autorizaciju korisnika u sustavu (3. dio)

Dobar dan!

U prethodnom dijelu Uspješno smo stvorili vlastiti certifikacijski centar. Kako to može biti korisno za naše potrebe?

Koristeći lokalno tijelo za izdavanje certifikata, možemo izdati certifikate i također provjeriti potpise na tim certifikatima.

Prilikom izdavanja certifikata korisniku, certifikacijsko tijelo koristi poseban zahtjev za certifikat Pkcs#10 koji ima '.csr' format datoteke. Ovaj zahtjev sadrži kodiranu sekvencu koju tijelo za izdavanje certifikata zna kako ispravno analizirati. Zahtjev sadrži i javni ključ korisnika i podatke za izradu certifikata (asocijativni niz s podacima o korisniku).

U sljedećem članku ćemo pogledati kako primiti zahtjev za certifikatom, au ovom članku želim dati glavne naredbe certifikacijskog tijela koje će nam pomoći da izvršimo naš zadatak na pozadinskoj strani.

Dakle, prvo moramo izraditi certifikat. Za to koristimo naredbu:

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

ca je openSSL naredba koja se odnosi na certifikacijsko tijelo,
-batch - poništava zahtjeve za potvrdom prilikom generiranja certifikata.
user.csr — zahtjev za izradu certifikata (datoteka u .csr formatu).
user.crt - certifikat (rezultat naredbe).

Kako bi ova naredba radila, tijelo za izdavanje certifikata mora biti konfigurirano točno kako je opisano u prethodnom dijelu članka. U suprotnom ćete morati dodatno navesti lokaciju korijenskog certifikata certifikacijskog tijela.

Naredba za provjeru certifikata:

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

cms je openSSL naredba koja se koristi za potpisivanje, provjeru, šifriranje podataka i druge kriptografske operacije pomoću openSSL-a.

-verify - u ovom slučaju provjeravamo certifikat.

authenticate.cms - datoteka koja sadrži podatke potpisane certifikatom koji je izdala prethodna naredba.

-inform PEM - koristi se PEM format.

-CAfile /Users/……/demoCA/ca.crt - put do korijenskog certifikata. (bez ovoga mi naredba nije radila, iako su putanje do ca.crt bile zapisane u datoteci openssl.cfg)

-out data.file — šaljem dekriptirane podatke u datoteku data.file.

Algoritam za korištenje certifikacijskog tijela na pozadinskoj strani je sljedeći:

  • Registracija korisnika:
    1. Primamo zahtjev za izradu certifikata i spremanje u datoteku user.csr.
    2. Prvu naredbu ovog članka spremamo u datoteku s nastavkom .bat ili .cmd. Ovu datoteku pokrećemo iz koda, nakon što smo prethodno spremili zahtjev za izradu certifikata u datoteku user.csr. Primamo datoteku s user.crt certifikatom.
    3. Čitamo datoteku user.crt i šaljemo je klijentu.

  • Autorizacija korisnika:
    1. Primamo potpisane podatke od klijenta i spremamo ih u datoteku authenticate.cms.
    2. Spremite drugu naredbu ovog članka u datoteku s nastavkom .bat ili .cmd. Ovu datoteku pokrećemo iz koda, nakon što smo prethodno potpisane podatke s poslužitelja spremili u authenticate.cms. Primamo datoteku s dekriptiranim podacima data.file.
    3. Čitamo data.file i provjeravamo valjanost podataka. Opisano je što točno provjeriti u prvom članku. Ako su podaci valjani, autorizacija korisnika se smatra uspješnom.

Za implementaciju ovih algoritama možete koristiti bilo koji programski jezik koji se koristi za pisanje pozadine.

U sljedećem članku ćemo pogledati kako raditi s dodatkom Retoken.

Hvala vam!

Izvor: www.habr.com

Dodajte komentar