Ruutokeni tehnoloogia kasutamise kogemus kasutajate registreerimiseks ja autentimiseks sĂŒsteemis (osa 2)

Tere pÀevast! JÀtkame selle teema arutamist (eelneva osaga on vÔimalik tutvuda lingil).

TĂ€na liigume praktilise osa juurde. Alustame oma sertifitseerimiskeskuse seadistamisega pĂ”hjaliku avatud lĂ€htekoodiga krĂŒptograafia raamatukogu openSSL baasil. See algoritm on testitud Windows 7 keskkonnas.

OpenSSL-i installimisel saame erinevaid krĂŒptograafilisi operatsioone (nĂ€iteks vĂ”tmete ja sertifikaatide loomine) teostada kĂ€surealt.

Tegevuste algoritm on jÀrgmine:

  1. Laadige alla installimisdistsipliin openssl-1.1.1g.
    OpenSSL-l on erinevad versioonid. Ruutokeni dokumentatsioonis on öeldud, et vajalik on openSSL versioon 1.1.0 vÔi uuem. Mina kasutasin versiooni openssl-1.1.1g. OpenSSL-i saab alla laadida ametlikult veebilehelt, kuid lihtsama installimise jaoks tuleb leida Windowsi installifail internetist. Ma tegin selle te eelnevalt teie jaoks: slproweb.com/products/Win32OpenSSL.html
    LehekĂŒlje allosas tuleb alla laadida Win64 OpenSSL v1.1.1g EXE 63MB Installer.
  2. Installime openssl-1.1.1g arvutisse.
    Installatsioon tuleb lĂ€bi viia standardteel, mille sĂŒsteem automaatselt mÀÀrab kausta C:Program Files. Programm installitakse kausta OpenSSL-Win64.
  3. OpenSSL-i seadistamiseks nagu soovite on olemas fail openssl.cfg. See fail asub teel C:Program FilesOpenSSL-Win64bin, kui olete openSSL-i installinud nagu mainitud eelnevas punktis. Liigume kausta, kus asub openssl.cfg, ja avame selle nÀiteks Notepad++-ga.
  4. Te olete ilmselt aru saanud, et sertifitseerimiskeskuse seadistamine toimub faili openssl.cfg sisu muutmise teel, ja te olete tÀiesti Ôiged. Selleks tuleb seadistada kÀsk [ ca ]. Failis openssl.cfg leiame teksti alguse, kuhu me muudatused teeme, jÀrgmiselt: [ ca ].
  5. NĂŒĂŒd toon nĂ€ite seadistamisest koos selgitusega:
    [ 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
    

    NĂŒĂŒd tuleb luua kataloog demoCA ja alajaotused, nagu nĂ€idatud ĂŒlaltoodud nĂ€ites. Ja paigutada see kataloog teele, mis on mÀÀratud dir (mul on /Users/username/bin/openSSLca/demoCA).

    On oluline Ă”igesti mÀÀrata dir – see on tee kausta, kus asub meie sertifitseerimiskeskus. See kaust peab olema kindlasti /Users (st mĂ”ne kasutaja kontol). Kui paigutate selle kausta nĂ€iteks C:Program Files, ei nĂ€e sĂŒsteem failis seadistusi openssl.cfg (minu kogemuse pĂ”hjal).

    $dir – siia sisestatakse tee, mis on mÀÀratletud dir.

    Veel ĂŒks oluline asi on luua tĂŒhi fail index.txt, ilma selle failita kĂ€sud «openSSL ca  » ei tööta.

    Samuti on vajalik omada faili serial, juureprivaatsust vÔtme (ca.key) ja juuresertifikaati (ca.crt). Nende failide saamise protsess kirjeldatakse hiljem.

  6. Ühendame Ruutokeni pakutavad krĂŒpteerimisalgoritmid.
    See ĂŒhendamine toimub failis openssl.cfg.
    • Esmalt on vajalik alla laadida vajalikud Ruutokeni algoritmid. Need on failid rtengine.dll, rtpkcs11ecp.dll.
      Selleks laadime alla Ruutoken SDK: www.rutoken.ru/developers/sdk.

      Ruutoken SDK on kÔik, mis on arendajatele, kes soovivad Ruutokenit proovida. Seal on eraldi nÀidised Ruutokeni kasutamiseks erinevates programmeerimiskeeltes ja esitatud on ka mÔned raamatukogud. Meie raamatukogud rtengine.dll ja rtpkcs11ecp.dll asuvad Ruutokeni SDK-s vastavalt asukohas:

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

      VĂ€ga oluline punkt. Raamatukogud rtengine.dll, rtpkcs11ecp.dll ei tööta ilma Ruutokeni jaoks installitud draiverita. Samuti peab Ruutoken olema kindlasti ĂŒhendatud arvutiga. (kĂ”ik vajaliku Ruutokeni installimise kohta vaata artikli eelnevas osas habr.com/ru/post/506450)

    • Raamatukogusid rtengine.dll ja rtpkcs11ecp.dll saab hoida ĂŒkskĂ”ik kus kasutajakontol.
    • MÀÀratleme teed nende raamatukogudeni openssl.cfg failis. Selleks avame fail openssl.cfg, faili algusesse tuleb lisada rida:
      openssl_conf = openssl_def

      Faili lÔppu tuleb lisada:

      [ 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=AktivCo.;model=RutokenECP
      default_algorithms = CIPHERS, DIGEST, PKEY, RAND
      

      dynamic_path – tuleb mÀÀratleda enda tee raamatukogusse rtengine.dll.
      MODULE_PATH – tuleb mÀÀratleda enda tee raamatukogusse rtpkcs11ecp.dll.

  7. Lisame keskkonnamuutujad.

    On vajalik lisada keskkonnamuutuja, mis nÀitab teed openssl.cfg konfiguratsioonifailile. Minu puhul loodi muutuja OPENSSL_CONF teega C:Program FilesOpenSSL-Win64binopenssl.cfg.

    Muutujas path tuleb nÀidata teed kausta, kus openssl.exe asub, minu puhul on see: C:Program FilesOpenSSL-Win64bin.

  8. NĂŒĂŒd vĂ”ime naasta punkti 5 juurde ja luua puuduvad failid kaustale demoCA.
    1. Esimene oluline fail, ilma milleta ei toimi midagi — serial. See on fail ilma laiendita, mille vÀÀrtus peab olema 01. Saate selle faili ise luua ja sisse kirjutada 01. Samuti saate selle alla laadida RUTOKEN SDK-st teel sdk/openssl/rtengine/samples/tool/demoCA/.
      Kaustas demoCA on fail serial, mis ongi meil vajalik.
    2. Loome juureprivaatse vÔtme.
      Selleks kasutame openSSL-i raamatukogu kÀsku, mille tuleb kÀivitada otse kÀsureal:
      openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key

    3. Loome juursesertifikaadi.
      Selleks kasutame jÀrgmist openSSL-i raamatukogu kÀsku:
      openssl req -utf8 -x509 -key ca.key -out ca.crt

      Pane tÀhele, et juursesertifikaadi loomiseks on vajalik juureprivaatne vÔti, mis loodi eelmisel sammul. Seega peab kÀsurea olema avatud samas kataloogis.

    NĂŒĂŒd on kĂ”ik vajalikud failid olemas, et tĂ€ielikult konfigureerida kausta demoCA. Asetage loodud failid nendesse kaustadesse, mis on toodud punktis 5.

Oleme nĂŒĂŒd kindlad, et pĂ€rast kĂ”igi 8 punkti tĂ€itmist on meie sertifitseerimiskeskus tĂ€ielikult seadistatud.

JÀrgmisel osal rÀÀgin, kuidas me töötame sertifitseerimiskeskusega, et teostada, mida on kirjeldatud eelmisel artikli osal.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster