Rutokeni tehnoloogia kasutamise kogemus süsteemis kasutajate registreerimiseks ja autoriseerimiseks (2. osa)

Tere päevast Jätkame selle teemagaEelmise osa leiab lingilt).

Täna liigume edasi praktilise poole juurde. Alustame oma CA seadistamisega, mis põhineb täieõiguslikul avatud lähtekoodiga krüptograafilisel raamatukogul openSSL. Seda algoritmi on testitud Windows 7 abil.

Kui openSSL on installitud, saame käsurea kaudu teha erinevaid krüptograafilisi toiminguid (näiteks võtmete ja sertifikaatide loomine).

Toimingute algoritm on järgmine:

  1. Laadige alla installijaotus openssl-1.1.1g.
    openSSL-il on erinevad versioonid. Rutokeni dokumentatsioonis öeldi, et nõutav on openSSL-i versioon 1.1.0 või uuem. Kasutasin openssl-1.1.1g versiooni. OpenSSL-i saate alla laadida ametlikult saidilt, kuid installimise hõlbustamiseks peate võrgust leidma Windowsi installifaili. Ma tegin seda teie jaoks: slproweb.com/products/Win32OpenSSL.html
    Kerige lehte alla ja laadige alla Win64 OpenSSL v1.1.1g EXE 63MB Installer.
  2. Installige arvutisse openssl-1.1.1g.
    Installimine tuleb läbi viia standardse tee järgi, mis kuvatakse automaatselt kaustas C: Program Files. Programm installitakse OpenSSL-Win64 kausta.
  3. OpenSSL-i seadistamiseks nii, nagu seda vajate, on olemas fail openssl.cfg. Kui installisite openSSL-i eelmises lõigus kirjeldatud viisil, asub see fail C:\Program Files\OpenSSL-Win64bin teel. Minge kausta, kuhu on salvestatud openssl.cfg ja avage see fail näiteks Notepad++ abil.
  4. Tõenäoliselt arvasite, et sertifitseerimisasutus konfigureeritakse kuidagi, muutes faili openssl.cfg sisu, ja teil on täiesti õigus. See nõuab käsu [ ca ] kohandamist. Failis openssl.cfg võib teksti alguse, kus muudatusi teeme, leida järgmiselt: [ ca ].
  5. Nüüd annan näite sätte kohta koos selle kirjeldusega:
    [ 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 peame looma demoCA kataloogi ja alamkataloogid, nagu on näidatud ülaltoodud näites. Ja asetage see sellesse kataloogi teele, mis on määratud kaustas dir (mul on /Users/username/bin/openSSLca/demoCA).

    On väga oluline kirjutada dir õigesti - see on tee kataloogi, kus asub meie sertifitseerimiskeskus. See kataloog peab asuma kaustas /Users (st mõne kasutaja kontol). Kui panna see kataloog näiteks kausta C: Program Files, siis süsteem openssl.cfg sätetega faili ei näe (vähemalt minu jaoks oli see nii).

    $dir - siin asendatakse kaustas määratud tee.

    Teine oluline punkt on luua tühi fail index.txt, ilma selle failita ei tööta käsud “openSSL ca …”.

    Samuti peab teil olema jadafail, juur privaatvõti (ca.key), juursertifikaat (ca.crt). Nende failide hankimise protsessi kirjeldatakse allpool.

  6. Ühendame Rutokeni pakutavad krüpteerimisalgoritmid.
    See ühendus toimub failis openssl.cfg.

    • Kõigepealt peate alla laadima vajalikud Rutokeni algoritmid. Need on failid rtengine.dll, rtpkcs11ecp.dll.
      Selleks laadige alla Rutokeni SDK: www.rutoken.ru/developers/sdk.

      Rutokeni SDK on kõik, mis on arendajatele, kes soovivad Rutokenit proovida. Rutokeniga töötamiseks erinevates programmeerimiskeeltes on nii eraldi näited kui ka mõned teegid. Meie teegid rtengine.dll ja rtpkcs11ecp.dll asuvad vastavalt Rutokeni sdk-s asukohas:

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

      Väga oluline punkt. Teegid rtengine.dll, rtpkcs11ecp.dll ei tööta ilma Rutokeni jaoks installitud draiverita. Ka Rutoken peab olema arvutiga ühendatud. (Kõike Rutokeni jaoks vajaliku installimiseks vaadake artikli eelmist osa habr.com/en/post/506450)

    • Teeke rtengine.dll ja rtpkcs11ecp.dll saab hoida kasutajakonto kõikjal.
    • Kirjutame nende teekide teed faili openssl.cfg. Selleks avage fail openssl.cfg, pange selle faili algusesse rida:
      openssl_conf = openssl_def

      Faili lõppu peate lisama:

      [ 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 – peate määrama teegi rtengine.dll teegi.
      MODULE_PATH – peate kirjutama oma tee teeki rtpkcs11ecp.dll.

  7. Keskkonnamuutujate lisamine.

    Lisage kindlasti keskkonnamuutuja, mis määrab konfiguratsioonifaili openssl.cfg tee. Minu puhul loodi muutuja OPENSSL_CONF teega C:Program FilesOpenSSL-Win64binopenssl.cfg.

    Teemuutujas peate määrama tee kausta, kus openssl.exe asub, minu puhul on see: C: Program FilesOpenSSL-Win64bin.

  8. Nüüd saate minna tagasi 5. sammu juurde ja luua demoCA kataloogi jaoks puuduvad failid.
    1. Esimene oluline fail, ilma milleta miski ei tööta, on jadafail. See on ilma laiendita fail, mille väärtus peaks olema 01. Saate selle faili ise luua ja sinna sisse kirjutada 01. Samuti saate selle alla laadida Rutoken SDK-st mööda teed sdk/openssl/rtengine/samples/tool/demoCA /.
      DemoCA kataloog sisaldab jadafaili, mis on täpselt see, mida me vajame.
    2. Looge juur privaatvõti.
      Selleks kasutame openSSL teegi käsku, mis tuleb käivitada otse käsureal:

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

    3. Loome juursertifikaadi.
      Selleks kasutage järgmist openSSL teegi käsku:

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

      Pange tähele, et juursertifikaadi genereerimiseks on vaja privaatset juurvõtit, mis genereeriti eelmises etapis. Seetõttu tuleb käsurida käivitada samas kataloogis.

    Kõikidel on nüüd kõik puuduvad failid demoCA kataloogi täielikuks konfigureerimiseks. Asetage loodud failid punktis 5 näidatud kataloogidesse.

Eeldame, et pärast kõigi 8 punkti täitmist on meie sertifitseerimiskeskus täielikult konfigureeritud.

Järgmises osas kirjeldan, kuidas teeme koostööd sertifitseerimisasutusega, et saavutada see, mida kirjeldati. artikli eelmine osa.

Allikas: www.habr.com

Lisa kommentaar