Pangalaman ngagunakeun téknologi Rutoken pikeun ngadaptar sareng otorisasi pangguna dina sistem (bagian 2)

Wilujeng sonten Hayu urang neruskeun kalawan topik ieuBagian saméméhna tiasa dipendakan dina tautan).

Dinten ieu kami ngaléngkah ka bagian praktis. Hayu urang mimitian ku netepkeun CA kami dumasar kana perpustakaan kriptografi open source full-fledged openSSL. Algoritma ieu parantos diuji nganggo windows 7.

Kalayan openSSL dipasang, urang tiasa ngalakukeun sababaraha operasi kriptografi (sapertos nyiptakeun konci sareng sertipikat) ngalangkungan garis paréntah.

Algoritma tindakan sapertos kieu:

  1. Unduh distribusi instalasi openssl-1.1.1g.
    openSSL boga versi béda. Dokuméntasi pikeun Rutoken nyarios yén versi openSSL 1.1.0 atanapi langkung énggal diperyogikeun. I dipaké versi openssl-1.1.1g. Anjeun tiasa ngaunduh openSSL tina situs resmi, tapi pikeun pamasangan anu langkung gampang, anjeun kedah milarian file pamasangan windows dina jaring. Kuring ngalakukeun ieu pikeun anjeun: slproweb.com/products/Win32OpenSSL.html
    Gulung ka handap kaca tur ngundeur Win64 OpenSSL v1.1.1g EXE 63MB Installer.
  2. Pasang openssl-1.1.1g dina komputer.
    Pamasangan kedah dilakukeun dumasar kana jalur standar, anu otomatis dituduhkeun dina folder C: Program Files. Program bakal dipasang dina folder OpenSSL-Win64.
  3. Pikeun nyetél openSSL sakumaha anu anjeun peryogikeun, aya file openssl.cfg. file ieu lokasina di C: \ Program Files \ OpenSSL-Win64bin jalur lamun dipasang openSSL sakumaha ditétélakeun dina paragraf saméméhna. Pindah ka folder dimana openssl.cfg disimpen sareng buka file ieu nganggo, contona, Notepad ++.
  4. Anjeun meureun ditebak yén otoritas sertifikasi bakal ngonpigurasi kumaha bae age ku ngarobah eusi file openssl.cfg, tur anjeun leres pisan. Ieu merlukeun kustomisasi paréntah [ ca ]. Dina file openssl.cfg, awal téks dimana urang bakal nyieun parobahan bisa kapanggih salaku: [ ca ].
  5. Ayeuna kuring bakal masihan conto setting sareng pedaranana:
    [ 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
    

    Ayeuna urang kudu nyieun diréktori demoCA jeung subdirectories ditémbongkeun saperti dina conto di luhur. Sarta nempatkeun eta dina diréktori ieu sapanjang jalur anu dieusian dina dir (Kuring boga /Pamaké/ngaran pamaké/bin/openSSLca/demoCA).

    Penting pisan pikeun ngeja dir anu leres - ieu mangrupikeun jalan ka diréktori dimana pusat sertifikasi urang bakal aya. Diréktori ieu kedah aya di / Pamaké (nyaéta, dina akun sababaraha pangguna). Upami anjeun nempatkeun diréktori ieu, contona, dina C: Program Files, sistem moal ningali file kalayan setélan openssl.cfg (sahenteuna éta sapertos kuring).

    $dir - jalur dieusian di dir diganti dieu.

    titik penting séjénna nyaéta nyieun hiji file index.txt kosong, tanpa file ieu "openSSL ca ..." Paréntah moal jalan.

    Anjeun oge kudu boga file serial, root konci swasta (ca.key), sertipikat root (ca.crt). Prosés pikeun meunangkeun file ieu bakal dijelaskeun di handap.

  6. Urang sambungkeun algoritma enkripsi disadiakeun ku Rutoken.
    Sambungan ieu lumangsung dina file openssl.cfg.

    • Anu mimiti, anjeun kedah ngaunduh algoritma Rutoken anu diperyogikeun. Ieu mangrupikeun file rtengine.dll, rtpkcs11ecp.dll.
      Jang ngalampahkeun ieu, unduh Rutoken SDK: www.rutoken.ru/developers/sdk.

      Rutoken SDK sadayana aya pikeun pamekar anu hoyong nyobian Rutoken. Aya duanana conto misah pikeun gawé bareng Rutoken dina basa programming béda, sarta sababaraha perpustakaan dibere. Perpustakaan kami rtengine.dll sareng rtpkcs11ecp.dll masing-masing aya di Rutoken sdk, di lokasi:

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

      Hiji titik pohara penting. Perpustakaan rtengine.dll, rtpkcs11ecp.dll teu dianggo tanpa supir dipasang pikeun Rutoken. Ogé Rutoken kudu disambungkeun ka komputer. (Pikeun masang sadayana anu anjeun peryogikeun pikeun Rutoken, tingali bagian sateuacana tina tulisan habr.com/en/post/506450)

    • Perpustakaan rtengine.dll sareng rtpkcs11ecp.dll tiasa disimpen dimana waé dina akun pangguna.
    • Urang nulis jalur ka perpustakaan ieu di openssl.cfg. Jang ngalampahkeun ieu, buka file openssl.cfg, nempatkeun garis dina awal file ieu:
      openssl_conf = openssl_def

      Dina ahir file anjeun kedah nambihan:

      [ 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 - anjeun kudu nangtukeun jalur anjeun ka perpustakaan rtengine.dll.
      MODULE_PATH - anjeun kedah nyetél jalur anjeun ka perpustakaan rtpkcs11ecp.dll.

  7. Nambahkeun variabel lingkungan.

    Pastikeun pikeun nambahkeun variabel lingkungan nu nangtukeun jalur ka file konfigurasi openssl.cfg. Bisi kuring, variabel OPENSSL_CONF dijieun kalawan jalur C: Program FilesOpenSSL-Win64binopenssl.cfg.

    Dina variabel jalur, Anjeun kudu nangtukeun jalur ka folder dimana openssl.exe lokasina, dina hal ieu mah: C: Program FilesOpenSSL-Win64bin.

  8. Ayeuna anjeun tiasa uih deui ka lengkah 5 sareng nyiptakeun file anu leungit pikeun diréktori demoCA.
    1. The file penting munggaran tanpa nu nanaon bakal dianggo nyaeta serial. Ieu file tanpa extension, nilai nu kudu 01. Anjeun bisa nyieun file ieu sorangan jeung nulis 01 jero. Anjeun oge bisa ngundeur ti Rutoken SDK sapanjang jalur sdk/openssl/rtengine/samples/alat/demoCA /.
      Diréktori demoCA ngandung file serial, nu kahayang urang kudu.
    2. Jieun konci pribadi root.
      Jang ngalampahkeun ieu, kami bakal nganggo paréntah perpustakaan openSSL, anu kedah dijalankeun langsung dina garis paréntah:

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

    3. Urang nyieun sertipikat root.
      Jang ngalampahkeun ieu, paké paréntah perpustakaan openSSL di handap ieu:

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

      Perhatikeun yén root konci swasta, nu dihasilkeun dina hambalan saméméhna, diperlukeun pikeun ngahasilkeun sertipikat root. Ku alatan éta, garis paréntah kedah diluncurkeun dina diréktori anu sami.

    Sadayana ayeuna gaduh sadaya file anu leungit pikeun konfigurasi lengkep diréktori demoCA. Pasang file anu diciptakeun dina diréktori anu dituduhkeun dina titik 5.

Urang bakal nganggap yén sanggeus réngsé sakabéh 8 titik, puseur sertifikasi urang geus pinuh ngonpigurasi.

Dina bagian salajengna, kuring bakal ngajelaskeun kumaha urang bakal damel sareng otoritas sertifikasi pikeun ngalaksanakeun naon anu dijelaskeun dina bagian saméméhna tina artikel.

sumber: www.habr.com

Tambahkeun komentar