Sisteman erabiltzaileak erregistratzeko eta baimentzeko Rutoken teknologia erabiltzen esperientzia (2. zatia)

Arratsalde on Jarrai dezagun gai honekinAurreko zatia estekan aurki daiteke).

Gaur atal praktikora pasatuko gara. Has gaitezen gure CA konfiguratzen openSSL kode irekiko liburutegi kriptografikoan oinarrituta. Algoritmo hau Windows 7 erabiliz probatu da.

OpenSSL instalatuta, hainbat eragiketa kriptografiko egin ditzakegu (adibidez, gakoak eta ziurtagiriak sortzea) komando-lerroaren bidez.

Ekintzen algoritmoa honako hau da:

  1. Deskargatu instalazioaren banaketa openssl-1.1.1g.
    openSSL-k bertsio desberdinak ditu. Rutoken-en dokumentazioak zioen openSSL 1.1.0 bertsioa edo berriagoa behar dela. Openssl-1.1.1g bertsioa erabili dut. OpenSSL gune ofizialetik deskargatu dezakezu, baina errazagoa den instalazioa lortzeko, sarean Windows-en instalazio fitxategia aurkitu behar duzu. Hau egin dut zuretzat: slproweb.com/products/Win32OpenSSL.html
    Joan behera orrialdean eta deskargatu Win64 OpenSSL v1.1.1g EXE 63MB instalatzailea.
  2. Instalatu openssl-1.1.1g ordenagailuan.
    Instalazioa C: Program Files karpetan automatikoki adierazten den bide estandarraren arabera egin behar da. Programa OpenSSL-Win64 karpetan instalatuko da.
  3. OpenSSL behar duzun moduan konfiguratzeko, openssl.cfg fitxategia dago. Fitxategi hau C:\Program Files\OpenSSL-Win64bin bidean dago OpenSSL aurreko paragrafoan azaldutako moduan instalatu baduzu. Joan openssl.cfg gordetzen den karpetara eta ireki fitxategi hau, adibidez, Notepad++ erabiliz.
  4. Ziur aski, openssl.cfg fitxategiaren edukia aldatuz ziurtapen-agintaritzak nolabait konfiguratuko direla asmatu duzu eta arrazoi osoa duzu. Honek [ ca ] komandoa pertsonalizatu behar du. Openssl.cfg fitxategian, aldaketak egingo ditugun testuaren hasiera honela aurki daiteke: [ ca ].
  5. Orain ezarpen baten adibide bat emango dut bere deskribapenarekin:
    [ ca ]
    default_ca	= CA_default		
    
     [ CA_default ]
    dir		= /Users/username/bin/openSSLca/demoCA		 
    certs		= $dir/certs		
    crl_dir		= $dir/crl		
    database	= $dir/index.txt	
    new_certs_dir	= $dir/newcerts	
    certificate	= $dir/ca.crt 	
    serial		= $dir/private/serial 		
    crlnumber	= $dir/crlnumber	
    					
    crl		= $dir/crl.pem 		
    private_key	= $dir/private/ca.key
    x509_extensions	= usr_cert
    

    Orain demoCA direktorioa eta azpidirektorioak sortu behar ditugu goiko adibidean erakusten den moduan. Eta jarri direktorio honetan dir-en zehaztutako bidetik (/Users/username/bin/openSSLca/demoCA daukat).

    Oso garrantzitsua da dir zuzen idaztea - hau da gure ziurtagiri-zentroa kokatuko den direktoriorako bidea. Direktorio hau /Users-en egon behar da (hau da, erabiltzaile batzuen kontuan). Direktorio hau jartzen baduzu, adibidez, C: Program Files-en, sistemak ez du ikusiko openssl.cfg ezarpenekin (niretzat behintzat hala izan zen).

    $dir - dir-en zehaztutako bidea ordezkatzen da hemen.

    Beste puntu garrantzitsu bat index.txt fitxategi huts bat sortzea da, fitxategi hori gabe β€œopenSSL ca…” komandoek ez dute funtzionatuko.

    Serie-fitxategi bat, erroko gako pribatu bat (ca.key), erro-ziurtagiria (ca.crt) ere izan behar dituzu. Fitxategi hauek lortzeko prozesua jarraian deskribatuko da.

  6. Rutoken-ek emandako enkriptazio-algoritmoak konektatzen ditugu.
    Konexio hau openssl.cfg fitxategian gertatzen da.

    • Lehenik eta behin, beharrezkoak diren Rutoken algoritmoak deskargatu behar dituzu. Hauek rtengine.dll, rtpkcs11ecp.dll fitxategiak dira.
      Horretarako, deskargatu Rutoken SDK: www.rutoken.ru/developers/sdk.

      Rutoken SDK Rutoken probatu nahi duten garatzaileentzat dagoen guztia da. Bi adibide bereiziak daude Rutoken-ekin programazio-lengoaia ezberdinetan lan egiteko, eta liburutegi batzuk aurkezten dira. Gure liburutegiak rtengine.dll eta rtpkcs11ecp.dll Rutoken sdk-en daude, hurrenez hurren, kokapena:

      sdk/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
      sdk/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dll

      Oso puntu garrantzitsua. rtengine.dll, rtpkcs11ecp.dll liburutegiek ez dute funtzionatuko Rutoken-erako instalatutako kontrolatzailerik gabe. Gainera, Rutoken ordenagailura konektatuta egon behar da. (Rutoken-erako behar duzun guztia instalatzeko, ikusi artikuluaren aurreko zatia habr.com/eu/post/506450)

    • rtengine.dll eta rtpkcs11ecp.dll liburutegiak erabiltzailearen kontuko edozein tokitan gorde daitezke.
    • Liburutegi hauetarako bideak openssl.cfg-en idazten ditugu. Horretarako, ireki openssl.cfg fitxategia, jarri lerroa fitxategi honen hasieran:
      openssl_conf = openssl_def

      Fitxategiaren amaieran gehitu behar duzu:

      [ openssl_def ]
      engines = engine_section
      [ engine_section ]
      rtengine = gost_section
      [ gost_section ]
      dynamic_path = /Users/username/bin/sdk-rutoken/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
      MODULE_PATH = /Users/username/bin/sdk-rutoken/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dll
      RAND_TOKEN = pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP
      default_algorithms = CIPHERS, DIGEST, PKEY, RAND
      

      dynamic_path - rtengine.dll liburutegirako bidea zehaztu behar duzu.
      MODULE_PATH - rtpkcs11ecp.dll liburutegirako bidea ezarri behar duzu.

  7. Inguruko aldagaiak gehitzea.

    Ziurtatu openssl.cfg konfigurazio fitxategirako bidea zehazten duen ingurune-aldagai bat gehitzen duzula. Nire kasuan, OPENSSL_CONF aldagaia C:Program FilesOpenSSL-Win64binopenssl.cfg bidearekin sortu zen.

    Bide aldagaian, openssl.exe dagoen karpetarako bidea zehaztu behar duzu, nire kasuan hau da: C: Program FilesOpenSSL-Win64bin.

  8. Orain 5. urratsera itzuli eta demoCA direktoriorako falta diren fitxategiak sor ditzakezu.
    1. Ezer funtzionatuko ez duen lehen fitxategi garrantzitsua seriea da. Luzapenik gabeko fitxategia da, zeinaren balioa 01 izan behar du. Zuk zeuk sortu dezakezu fitxategi hau eta barruan 01 idatz dezakezu. Rutoken SDK-tik ere deskarga dezakezu sdk/openssl/rtengine/samples/tool/demoCA bidetik. /.
      demoCA direktorioak serie-fitxategia dauka, hau da, behar duguna.
    2. Sortu erroko gako pribatu bat.
      Horretarako, openSSL liburutegiko komandoa erabiliko dugu, komando lerroan zuzenean exekutatu behar dena:

      openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key

    3. Erro ziurtagiria sortzen dugu.
      Horretarako, erabili openSSL liburutegiko komando hau:

      openssl req -utf8 -x509 -key ca.key -out ca.crt

      Kontuan izan erroko gako pribatua, aurreko urratsean sortu zena, beharrezkoa dela erro ziurtagiria sortzeko. Hori dela eta, komando-lerroa direktorio berean abiarazi behar da.

    Orain denak demoCA direktorioaren konfigurazio osorako falta diren fitxategi guztiak ditu. Jarri sortutako fitxategiak 5. puntuan adierazitako direktorioetan.

Suposatuko dugu 8 puntu guztiak bete ondoren, gure ziurtagiri-zentroa guztiz konfiguratuta dagoela.

Hurrengo zatian, ziurtagiri-agintariarekin nola lan egingo dugun deskribatuko dut deskribatutakoa betetzeko artikuluaren aurreko zatia.

Iturria: www.habr.com

Gehitu iruzkin berria