Underfining yn it brûken fan Rutoken-technology foar registrearjen en autorisearjen fan brûkers yn it systeem (diel 3)

Goeie middei!

Yn it foarige diel Wy hawwe ús eigen sertifisearringssintrum mei súkses makke. Hoe kin it nuttich wêze foar ús doelen?

Mei help fan in lokale sertifisearringsautoriteit kinne wy ​​sertifikaten útjaan en ek hantekeningen op dizze sertifikaten ferifiearje.

By it útjaan fan in sertifikaat oan in brûker, brûkt de sertifisearringsautoriteit in spesjale sertifikaatfersyk Pkcs#10, dy't it bestânsformaat '.csr' hat. Dit fersyk befettet in kodearre folchoarder dy't de sertifisearringsautoriteit wit hoe't se goed kinne parse. It fersyk befettet sawol de publike kaai fan de brûker as gegevens foar it meitsjen fan in sertifikaat (in assosjatyf array mei gegevens oer de brûker).

Wy sille sjen hoe't jo in fersyk foar in sertifikaat kinne ûntfange yn it folgjende artikel, en yn dit artikel wol ik de haadkommando's fan 'e sertifisearringsautoriteit jaan dy't ús sille helpe ús taak op' e efterkant te foltôgjen.

Dus earst moatte wy in sertifikaat oanmeitsje. Om dit te dwaan brûke wy it kommando:

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

ca is it openSSL-kommando dat relatearret oan de sertifisearringsautoriteit,
-batch - annulearret befêstigingsoanfragen by it generearjen fan in sertifikaat.
user.csr - fersyk om in sertifikaat te meitsjen (bestân yn .csr-formaat).
user.crt - sertifikaat (resultaat fan it kommando).

Om dit kommando te wurkjen, moat de sertifisearringsautoriteit krekt konfigureare wurde lykas beskreaun yn it foarige diel fan it artikel. Oars moatte jo ek de lokaasje fan it root-sertifikaat fan 'e sertifisearingsautoriteit opjaan.

Sertifikaat ferifikaasje kommando:

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

cms is in openSSL-kommando dat wurdt brûkt foar ûndertekening, ferifikaasje, fersifering fan gegevens en oare kryptografyske operaasjes mei openSSL.

-ferifiearje - yn dit gefal ferifiearje wy it sertifikaat.

authenticate.cms - in triem mei gegevens ûndertekene mei it sertifikaat dat is útjûn troch it foarige kommando.

-inform PEM - PEM-formaat wurdt brûkt.

-CAfile /Users/……/demoCA/ca.crt - paad nei it root-sertifikaat. (sûnder dit wurke it kommando net foar my, hoewol de paden nei ca.crt waarden skreaun yn it openssl.cfg-bestân)

-out data.file - Ik stjoer de ûntsifere gegevens nei it bestân data.file.

It algoritme foar it brûken fan in sertifikaasjeautoriteit oan 'e efterkant is as folget:

  • Brûkersregistraasje:
    1. Wy krije in fersyk om in sertifikaat te meitsjen en it op te slaan yn it user.csr-bestân.
    2. Wy bewarje it earste kommando fan dit artikel yn in triem mei de tafoeging .bat of .cmd. Wy rinne dizze triem út koade, hawwen earder bewarre it fersyk om in sertifikaat te meitsjen oan de user.csr triem. Wy krije in bestân mei it user.crt-sertifikaat.
    3. Wy lêze it user.crt-bestân en stjoere it nei de kliïnt.

  • Meidogger autorisaasje:
    1. Wy ûntfange ûndertekene gegevens fan 'e kliïnt en bewarje it yn it authenticate.cms-bestân.
    2. Bewarje it twadde kommando fan dit artikel yn in triem mei de tafoeging .bat of .cmd. Wy rinne dizze triem út de koade, hawwen earder bewarre de ûndertekene gegevens fan de tsjinner yn authenticate.cms. Wy ûntfange in bestân mei ûntsifere gegevens data.file.
    3. Wy lêze data.file en kontrolearje dizze gegevens foar jildigens. Wat krekt te kontrolearjen wurdt beskreaun yn it earste artikel. As de gegevens jildich binne, dan wurdt autorisaasje fan brûkers beskôge as suksesfol.

Om dizze algoritmen út te fieren, kinne jo elke programmeartaal brûke dy't brûkt wurdt om de backend te skriuwen.

Yn it folgjende artikel sille wy sjen nei hoe't jo wurkje mei it Retoken-plugin.

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

Boarne: www.habr.com

Add a comment