Ezmûna karanîna teknolojiya Rutoken ji bo qeydkirin û destûrdayîna bikarhêneran di pergalê de (beş 2)

Paş nîvro Em vê mijarê bidomîninBeşa berê dikare li ser lînkê were dîtin).

Îro em derbasî beşa pratîkî dibin. Werin em bi sazkirina CA-ya xwe ya li ser bingeha pirtûkxaneya krîptografî ya çavkaniya vekirî ya bêkêmasî openSSL dest pê bikin. Ev algorîtma bi karanîna windows 7 ve hatî ceribandin.

Digel ku openSSL hatî saz kirin, em dikarin bi riya rêzika fermanê ve cûrbecûr operasyonên krîptografî (wek çêkirina kilît û sertîfîkayan) bikin.

Algorîtmaya çalakiyan ev e:

  1. Dabeşkirina sazkirinê openssl-1.1.1g dakêşin.
    openSSL guhertoyên cihêreng hene. Belgeyên ji bo Rutoken got ku guhertoya openSSL 1.1.0 an nûtir hewce ye. Min guhertoya openssl-1.1.1g bikar anî. Hûn dikarin openSSL ji malpera fermî dakêşin, lê ji bo sazkirinek hêsantir, hûn hewce ne ku pelê sazkirinê ji bo windows li ser torê bibînin. Min ev ji bo we kir: slproweb.com/products/Win32OpenSSL.html
    Rûpelê dakêşin û Win64 OpenSSL v1.1.1g EXE 63MB Installer dakêşin.
  2. Openssl-1.1.1g li ser komputerê saz bikin.
    Pêdivî ye ku sazkirin li gorî rêça standard, ku bixweber di peldanka C: Pelên Bernameyê de tê destnîşan kirin, were kirin. Bername dê di peldanka OpenSSL-Win64 de were saz kirin.
  3. Ji bo ku hûn bi awayê ku hûn hewce ne openSSL saz bikin, pelê openssl.cfg heye. Ger we openSSL saz kir wekî ku di paragrafa berê de hatî destnîşan kirin ev pel di riya C:\Program Files\OpenSSL-Win64bin de ye. Herin peldanka ku openssl.cfg tê hilanîn û vê pelê bi karanîna, mînakî, Notepad++ vekin.
  4. Dibe ku we texmîn kir ku desthilatdariya pejirandinê dê bi guheztina naveroka pelê openssl.cfg bi rengekî were mîheng kirin, û hûn bi tevahî rast in. Ji bo vê yekê xwerûkirina fermana [ ca ] hewce dike. Di pelê openssl.cfg de, destpêka nivîsa ku em ê tê de guheztinan bikin, dikare wekî: [ ca ] were dîtin.
  5. Naha ez ê mînakek mîhengek bi danasîna wê bidim:
    [ 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
    

    Naha pêdivî ye ku em pelrêça demoCA û jêrderhêneran biafirînin ku di mînaka li jor de hatî destnîşan kirin. Û wê di vê pelrêçê de li ser riya ku di dir-ê de hatî destnîşan kirin (Min / Bikarhêner / navê bikarhêner / bin / openSSLca / demoCA heye) bi cih bikin.

    Pir girîng e ku dir-ê rast binivîsin - ev rêça pelrêça ku dê navenda meya pejirandinê lê be. Divê ev pelrêça li / Bikarhêner (ango, di hesabê hin bikarhêneran de) be. Ger hûn vê pelrêçê, mînakî, li C: Pelên Bernameyê bi cîh bikin, dê pergal pelê bi mîhengên openssl.cfg nebîne (qet nebe ji bo min wusa bû).

    $dir - riya ku di dir de hatî destnîşan kirin li vir tê veguheztin.

    Xaleke din a girîng ev e ku meriv pelek index.txt vala biafirîne, bêyî vê pelê emrên "openSSL ca…" dê nexebitin.

    Di heman demê de pêdivî ye ku hûn pelek rêzik, mifteyek taybet a root (ca.key), sertîfîkayek root (ca.crt) hebe. Pêvajoya bidestxistina van pelan dê li jêr were vegotin.

  6. Em algorîtmayên şîfrekirinê yên ku ji hêla Rutoken ve têne peyda kirin ve girêdidin.
    Ev girêdan di pelê openssl.cfg de pêk tê.

    • Berî her tiştî, hûn hewce ne ku algorîtmayên pêwîst ên Rutoken dakêşin. Ev pelên rtengine.dll, rtpkcs11ecp.dll ne.
      Ji bo vê yekê, Rutoken SDK dakêşin: www.rutoken.ru/developers/sdk.

      Rutoken SDK hemî ji bo pêşdebiran e ku dixwazin Rutoken biceribînin. Ji bo xebata bi Rutoken di zimanên bernamesaziyê yên cihê de hem mînakên cihê hene, hem jî hin pirtûkxane têne pêşkêş kirin. Pirtûkxaneyên me rtengine.dll û rtpkcs11ecp.dll bi rêzê ve di Rutoken sdk de, li cîhê hene:

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

      Xaleke pir girîng. Pirtûkxaneyên rtengine.dll, rtpkcs11ecp.dll bêyî ajokera sazkirî ya Rutoken kar nakin. Her weha divê Rutoken bi komputerê ve girêdayî be. (ji bo sazkirina her tiştê ku hûn ji bo Rutoken hewce ne, li beşa berê ya gotarê binêre habr.com/en/post/506450)

    • Pirtûkxaneyên rtengine.dll û rtpkcs11ecp.dll dikarin li her derê hesabê bikarhênerê werin hilanîn.
    • Em rêyên van pirtûkxaneyan di openssl.cfg de dinivîsin. Ji bo vê yekê, pelê openssl.cfg vekin, rêzê li destpêka vê pelê bixin:
      openssl_conf = openssl_def

      Di dawiya pelê de hûn hewce ne ku lê zêde bikin:

      [ 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 - divê hûn riya xwe ya pirtûkxaneya rtengine.dll diyar bikin.
      MODULE_PATH - hûn hewce ne ku riya xwe berbi pirtûkxaneya rtpkcs11ecp.dll vekin.

  7. Zêdekirina guherbarên jîngehê.

    Bawer bikin ku guhêrbarek jîngehê ya ku riya pelê veavakirinê openssl.cfg diyar dike lê zêde bike. Di doza min de, guhêrbar OPENSSL_CONF bi riya C: Program FilesOpenSSL-Win64binopenssl.cfg hate afirandin.

    Di guherbara rê de, divê hûn riya peldanka ku openssl.exe lê ye diyar bikin, di rewşa min de ev e: C: Program FilesOpenSSL-Win64bin.

  8. Naha hûn dikarin vegerin gava 5 û pelên winda ji bo pelrêça demoCA biafirînin.
    1. Pela yekem a girîng a ku bêyî wê tiştek naxebite serial e. Ev pelek bê dirêjkirin e, nirxa wê divê 01 be. Hûn dikarin vê pelê bi xwe biafirînin û di hundurê 01-ê de binivîsin. Her weha hûn dikarin wê ji SDK-ya Rutoken li ser riya sdk/openssl/rtengine/samples/tool/demoCA dakêşin. /.
      Pelrêça demoCA pelê serial dihewîne, ya ku tam hewcedariya me ye.
    2. Mifteyek taybet a root ava bikin.
      Ji bo vê yekê, em ê fermana pirtûkxaneya openSSL bikar bînin, ku divê rasterast li ser rêzika fermanê were xebitandin:

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

    3. Em belgeyek root ava dikin.
      Ji bo vê yekê, fermana pirtûkxaneya openSSL-ya jêrîn bikar bînin:

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

      Ji kerema xwe not bikin ku mifteya taybet a root, ku di gava berê de hatî çêkirin, ji bo hilberîna sertîfîkaya root hewce ye. Ji ber vê yekê, rêzika fermanê divê di heman pelrêçê de were destpêkirin.

    Naha her tişt ji bo veavakirina bêkêmasî ya pelrêça demoCA hemî pelên winda hene. Pelên çêkirî di pelrêçên ku di xala 5-an de hatine destnîşan kirin bi cîh bikin.

Em ê texmîn bikin ku piştî temamkirina hemî 8 xalan, navenda pejirandina me bi tevahî hatî mîheng kirin.

Di beşa paşîn de, ez ê diyar bikim ka em ê çawa bi desthilatdariya pejirandinê re bixebitin da ku tiştê ku di nav de hatî diyar kirin pêk bînin beşa berê ya gotarê.

Source: www.habr.com

Add a comment