Pengalaman nggunakake teknologi Rutoken kanggo ndhaptar lan menehi wewenang pangguna ing sistem (bagean 2)

sugeng sonten Ayo dadi nerusake karo topik ikiBagean sadurunge bisa ditemokake ing link).

Dina iki kita pindhah menyang bagean praktis. Ayo miwiti kanthi nyetel CA adhedhasar perpustakaan kriptografi open source openSSL lengkap. Algoritma iki wis diuji nggunakake windows 7.

Kanthi openSSL diinstal, kita bisa nindakake macem-macem operasi kriptografi (kayata nggawe kunci lan sertifikat) liwat baris printah.

Algoritma tumindak kaya ing ngisor iki:

  1. Download distribusi instalasi openssl-1.1.1g.
    openSSL duwe macem-macem versi. Dokumentasi kanggo Rutoken ujar manawa openSSL versi 1.1.0 utawa luwih anyar dibutuhake. Aku nggunakake versi openssl-1.1.1g. Sampeyan bisa ndownload openSSL saka situs resmi, nanging kanggo instalasi sing luwih gampang, sampeyan kudu nemokake file instalasi kanggo windows ing net. Aku nindakake iki kanggo sampeyan: slproweb.com/products/Win32OpenSSL.html
    Gulung mudhun kaca lan download Win64 OpenSSL v1.1.1g EXE 63MB Installer.
  2. Instal openssl-1.1.1g ing komputer.
    Instalasi kudu ditindakake miturut path standar, sing dituduhake kanthi otomatis ing folder C: Program Files. Program kasebut bakal diinstal ing folder OpenSSL-Win64.
  3. Kanggo nyiyapake openSSL kanthi cara sing dibutuhake, ana file openssl.cfg. Berkas iki ana ing C:\Program Files\OpenSSL-Win64bin path yen sampeyan nginstal openSSL kaya sing diterangake ing paragraf sadurunge. Pindhah menyang folder ing ngendi openssl.cfg disimpen lan mbukak file iki nggunakake, contone, Notepad ++.
  4. Sampeyan mbokmenawa guessed sing panguwasa sertifikasi bakal diatur piye wae kanthi ngganti isi file openssl.cfg, lan sampeyan pancen bener. Iki mbutuhake pangaturan dhewe saka printah [ ca ]. Ing file openssl.cfg, wiwitan teks ing ngendi kita bakal nggawe owah-owahan bisa ditemokake minangka: [ ca ].
  5. Saiki aku bakal menehi conto setelan kanthi deskripsi:
    [ 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
    

    Saiki kita kudu nggawe direktori demoCA lan subdirektori kaya sing ditampilake ing conto ing ndhuwur. Lan selehake ing direktori iki ing sadawane dalan sing ditemtokake ing dir (Aku duwe /Users/username/bin/openSSLca/demoCA).

    Penting banget kanggo ngeja dir kanthi bener - iki minangka dalan menyang direktori ing ngendi pusat sertifikasi bakal ana. Direktori iki kudu ana ing / Pangguna (yaiku, ing akun sawetara pangguna). Yen sampeyan nyeleh direktori iki, contone, ing C: Program Files, sistem ora bakal weruh file karo setelan openssl.cfg (paling iku kaya kanggo kula).

    $dir - path sing ditemtokake ing dir diganti ing kene.

    Titik penting liyane yaiku nggawe file index.txt kosong, tanpa file iki, perintah "openSSL ca ..." ora bakal bisa digunakake.

    Sampeyan uga kudu duwe file serial, tombol pribadi ROOT (ca.key), certificate ROOT (ca.crt). Proses njupuk file kasebut bakal diterangake ing ngisor iki.

  6. Kita nyambungake algoritma enkripsi sing diwenehake dening Rutoken.
    Sambungan iki dumadi ing file openssl.cfg.

    • Kaping pisanan, sampeyan kudu ndownload algoritma Rutoken sing dibutuhake. Iki file rtengine.dll, rtpkcs11ecp.dll.
      Kanggo nindakake iki, download Rutoken SDK: www.rutoken.ru/developers/sdk.

      Rutoken SDK kabeh ana kanggo pangembang sing pengin nyoba Rutoken. Ana loro conto sing kapisah kanggo nggarap Rutoken ing basa pamrograman sing beda, lan sawetara perpustakaan ditampilake. Pustaka rtengine.dll lan rtpkcs11ecp.dll kita dumunung ing SDK Rutoken, ing lokasi:

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

      Titik penting banget. Libraries rtengine.dll, rtpkcs11ecp.dll ora bisa tanpa driver diinstal kanggo Rutoken. Uga Rutoken kudu disambungake menyang komputer. (kanggo nginstal kabeh sing dibutuhake kanggo Rutoken, deleng bagean sadurunge artikel habr.com/en/post/506450)

    • Pustaka rtengine.dll lan rtpkcs11ecp.dll bisa disimpen ing ngendi wae ing akun pangguna.
    • Kita nulis dalan menyang perpustakaan kasebut ing openssl.cfg. Kanggo nindakake iki, mbukak file openssl.cfg, sijine baris ing wiwitan berkas iki:
      openssl_conf = openssl_def

      Ing pungkasan file sampeyan kudu nambah:

      [ 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 - sampeyan kudu nemtokake path menyang perpustakaan rtengine.dll.
      MODULE_PATH - sampeyan kudu nulis path kanggo perpustakaan rtpkcs11ecp.dll.

  7. Nambahake variabel lingkungan.

    Priksa manawa sampeyan nambahake variabel lingkungan sing nemtokake path menyang file konfigurasi openssl.cfg. Ing cilik, OPENSSL_CONF variabel digawe karo path C: Program FilesOpenSSL-Win64binopenssl.cfg.

    Ing variabel path, sampeyan kudu nemtokake path menyang folder ngendi openssl.exe dumunung, ing cilik iku: C: Program FilesOpenSSL-Win64bin.

  8. Saiki sampeyan bisa bali menyang langkah 5 lan nggawe file sing ilang kanggo direktori demoCA.
    1. File penting pisanan tanpa ora ana apa-apa yaiku serial. Iki file tanpa ekstensi, regane kudu 01. Sampeyan bisa nggawe file iki dhewe lan nulis 01 ing njero. Sampeyan uga bisa ngundhuh saka Rutoken SDK ing sadawane dalan sdk/openssl/rtengine/samples/tool/demoCA /.
      Direktori demoCA ngemot file serial, sing persis apa sing kita butuhake.
    2. Nggawe kunci pribadi root.
      Kanggo nindakake iki, kita bakal nggunakake printah perpustakaan openSSL, sing kudu ditindakake langsung ing baris perintah:

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

    3. Kita nggawe sertifikat ROOT.
      Kanggo nindakake iki, gunakake printah perpustakaan openSSL ing ngisor iki:

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

      Wigati dimangerteni manawa kunci pribadi root, sing digawe ing langkah sadurunge, dibutuhake kanggo ngasilake sertifikat root. Mulane, baris printah kudu diluncurake ing direktori sing padha.

    Kabeh saiki duwe kabeh file sing ilang kanggo konfigurasi lengkap direktori demoCA. Selehake file sing digawe ing direktori sing dituduhake ing titik 5.

Kita bakal nganggep yen sawise ngrampungake kabeh 8 poin, pusat sertifikasi wis dikonfigurasi kanthi lengkap.

Ing bagean sabanjure, aku bakal njlèntrèhaké carane kita bakal bisa karo panguwasa sertifikasi kanggo ngrampungake apa sing diterangake ing bagean sadurunge artikel.

Source: www.habr.com

Add a comment