Таҷрибаи истифодаи технологияи Rutoken барои бақайдгирӣ ва иҷозати корбарон дар система (қисми 2)

Нимирӯзи ба хайр Биёед ба ин мавзӯъ идома диҳем (Қисми қаблиро дар истиноди зер пайдо кардан мумкин аст).

Имрӯз биёед ба қисми амалӣ мегузарем. Биёед бо таъсиси мақоми сертификати шумо дар асоси китобхонаи кушодаи криптографии openSSL оғоз кунем. Ин алгоритм бо истифода аз Windows 7 санҷида шуд.

Бо насби openSSL, мо метавонем амалиёти гуногуни криптографиро (ба монанди тавлиди калидҳо ва сертификатҳо) тавассути сатри фармон иҷро кунем.

Алгоритми амалҳо чунин аст:

  1. Тақсимоти насбкуниро зеркашӣ кунед openssl-1.1.1g.
    openSSL дорои версияҳои гуногун. Ҳуҷҷатҳои Rutoken изҳор доштанд, ки версияи openSSL 1.1.0 ё дертар талаб карда мешавад. Ман версияи openssl-1.1.1g истифода кардам. Шумо метавонед openSSL-ро аз вебсайти расмӣ зеркашӣ кунед, аммо барои насби осонтар шумо бояд файли насби Windows-ро дар Интернет пайдо кунед. Ман инро барои шумо кардам: slproweb.com/products/Win32OpenSSL.html
    Саҳифаро ба поён ҳаракат кунед ва Win64 OpenSSL v1.1.1g EXE 63MB Installer -ро зеркашӣ кунед.
  2. Дар компютери худ openssl-1.1.1g насб кунед.
    Насб бояд бо истифода аз роҳи стандартӣ, ки ба таври худкор дар папкаи C: Program Files муайян карда мешавад, анҷом дода шавад. Барнома дар папкаи OpenSSL-Win64 насб карда мешавад.
  3. Барои танзим кардани openSSL, ки ба шумо лозим аст, файли openssl.cfg мавҷуд аст. Ин файл дар роҳи C:Program FilesOpenSSL-Win64bin ҷойгир аст, агар шумо openSSL-ро тавре насб кунед, ки дар банди қаблӣ тавсиф шудааст. Ба ҷузвдоне, ки openssl.cfg захира шудааст, равед ва ин файлро бо истифода аз, масалан, Notepad++ кушоед.
  4. Эҳтимол шумо тахмин кардаед, ки таъсиси маркази сертификатсия тавассути тағир додани мундариҷаи файли openssl.cfg анҷом дода мешавад ва шумо комилан дуруст ҳастед. Барои ин, шумо бояд фармони [ca] -ро танзим кунед. Дар файли openssl.cfg ибтидои матнро, ки дар он мо тағирот ворид мекунем, метавон чунин ёфт: [ca].
  5. Ҳоло ман як намунаи танзимотро бо тавсифи он медиҳам:
    [ 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
    

    Акнун ба шумо лозим аст, ки директория ва зеркаталогҳои demoCA-ро, тавре ки дар мисоли боло нишон дода шудааст, созед. Ва онро дар ин феҳрист бо роҳи дар dir нишондодашуда ҷойгир кунед (ман /Users/username/bin/openSSLca/demoCA дорам).

    Дуруст ворид кардани dir хеле муҳим аст - ин роҳ ба директорияест, ки дар он мақомоти сертификатсияи мо ҷойгир аст. Ин директория бояд дар /Users (яъне дар ҳисоби корбар) ҷойгир бошад. Агар шумо ин феҳристро, масалан, дар C:Program Files ҷойгир кунед, система файли танзимоти openssl.cfg-ро намебинад (ҳадди ақал ин барои ман чунин буд).

    $dir - роҳи дар dir нишондодашуда дар ин ҷо иваз карда мешавад.

    Нуктаи дигари муҳим ин эҷод кардани файли холии index.txt аст, бе ин файл фармонҳои "openSSL ca ..." кор намекунанд.

    Шумо инчунин бояд файли силсилавӣ, калиди хусусии реша (ca.key) ва шаҳодатномаи реша (ca.crt) дошта бошед. Раванди дарёфти ин файлҳо дар зер тавсиф карда мешавад.

  6. Мо алгоритмҳои рамзгузории аз ҷониби Rutoken пешниҳодшударо фаъол мекунем.
    Ин пайвастшавӣ дар файли openssl.cfg сурат мегирад.

    • Пеш аз ҳама, шумо бояд алгоритмҳои зарурии Rutoken -ро зеркашӣ кунед. Инҳо файлҳои rtengine.dll, rtpkcs11ecp.dll мебошанд.
      Барои ин, Rutoken SDK -ро зеркашӣ кунед: www.rutoken.ru/developers/sdk.

      Rutoken SDK ҳама чизест, ки барои таҳиягароне мавҷуд аст, ки мехоҳанд Rutoken-ро санҷанд. Ҳам намунаҳои инфиродӣ барои кор бо Rutoken дар забонҳои гуногуни барномасозӣ мавҷуданд ва баъзе китобхонаҳо пешниҳод карда мешаванд. Китобхонаҳои мо rtengine.dll ва rtpkcs11ecp.dll мутаносибан дар Rutoken sdk дар макон ҷойгир шудаанд:

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

      Як нуктаи хеле муҳим. Китобхонаҳои rtengine.dll, rtpkcs11ecp.dll бе драйвери насбшуда барои Rutoken кор намекунанд. Инчунин Rutoken бояд ба компютер пайваст карда шавад. (барои насб кардани ҳама чизе, ки барои Rutoken лозим аст, ба қисми пешинаи мақола нигаред habr.com/en/post/506450)

    • Китобхонаҳои rtengine.dll ва rtpkcs11ecp.dll метавонанд дар ҳама ҷо дар ҳисоби корбар нигоҳ дошта шаванд.
    • Мо роҳҳоро ба ин китобхонаҳо дар openssl.cfg сабт мекунем. Барои ин, файли openssl.cfg -ро кушоед, дар аввали ин файл шумо бояд сатрро ҷойгир кунед:
      openssl_conf = openssl_def

      Дар охири файл шумо бояд илова кунед:

      [ 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 - шумо бояд роҳи худро ба китобхонаи rtengine.dll муайян кунед.
      MODULE_PATH - шумо бояд роҳи худро ба китобхонаи rtpkcs11ecp.dll муайян кунед.

  7. Илова кардани тағирёбандаҳои муҳити зист.

    Шумо бояд тағирёбандаи муҳити зистро илова кунед, ки роҳро ба файли конфигуратсияи openssl.cfg муайян мекунад. Дар ҳолати ман, тағирёбандаи OPENSSL_CONF бо роҳи C сохта шудааст: Program FilesOpenSSL-Win64binopenssl.cfg.

    Тағйирёбандаи роҳ бояд роҳро ба ҷузвдоне, ки openssl.exe ҷойгир аст, дар бар гирад, дар ҳолати ман ин аст: C:Program FilesOpenSSL-Win64bin.

  8. Акнун шумо метавонед ба қадами 5 баргардед ва файлҳои гумшударо барои директорияи demoCA эҷод кунед.
    1. Аввалин файли муҳиме, ки бе он ҳеҷ чиз кор намекунад, силсилавӣ аст. Ин файли бидуни тамдид аст, ки арзиши он бояд 01 бошад. Шумо метавонед ин файлро худатон созед ва дар дохили он 01 нависед. Шумо инчунин метавонед онро аз Rutoken SDK бо роҳи sdk/openssl/rtengine/samples/tool/demoCA зеркашӣ кунед /.
      Дар феҳристи demoCA файли силсилавӣ мавҷуд аст, ки маҳз он чизест, ки ба мо лозим аст.
    2. Калиди хусусии решавӣ эҷод кунед.
      Барои ин, мо фармони китобхонаи openSSL-ро истифода мебарем, ки он бояд мустақиман дар сатри фармон иҷро шавад:

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

    3. Мо шаҳодатномаи реша эҷод мекунем.
      Барои ин, мо фармони зеринро аз китобхонаи openSSL истифода мебарем:

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

      Лутфан таваҷҷӯҳ намоед, ки барои сохтани шаҳодатномаи реша ба шумо калиди хусусии решавӣ лозим аст, ки дар қадами қаблӣ сохта шудааст. Аз ин рӯ, сатри фармон бояд дар ҳамон директория оғоз карда шавад.

    Ҳама файлҳои гумшуда барои конфигуратсияи пурраи директорияи demoCA ҳоло дастрасанд. Файлҳои сохташударо дар директорияҳои дар банди 5 нишондода ҷойгир кунед.

Мо тахмин мезанем, ки пас аз ба итмом расонидани ҳамаи 8 нуқтаҳо, маркази сертификатсияи мо пурра танзим карда шудааст.

Дар қисми оянда ман ба шумо мегӯям, ки чӣ тавр мо бо мақомоти сертификатсия кор мекунем, то он чизеро, ки дар қисми пешинаи мақола.

Манбаъ: will.com

Илова Эзоҳ