Искуство у коришћењу Рутокен технологије за регистрацију и ауторизацију корисника у систему (2. део)

Добар дан Хајде да наставимо да се бавимо овом темом (Претходни део можете пронаћи на линку).

Данас пређимо на практични део. Почнимо са подешавањем вашег ауторитета за сертификате на основу пуноправне криптографске библиотеке отвореног кода опенССЛ. Овај алгоритам је тестиран користећи Виндовс 7.

Са инсталираним опенССЛ-ом, можемо да обављамо различите криптографске операције (као што је генерисање кључева и сертификата) преко командне линије.

Алгоритам радњи је следећи:

  1. Преузмите инсталацијску дистрибуцију опенссл-1.1.1г.
    опенССЛ има различите верзије. У документацији за Рутокен је наведено да је потребна опенССЛ верзија 1.1.0 или новија. Користио сам опенссл-1.1.1г верзију. ОпенССЛ можете преузети са званичне веб странице, али за лакшу инсталацију морате пронаћи инсталациону датотеку за Виндовс на Интернету. урадио сам ово за тебе: слпровеб.цом/продуцтс/Вин32ОпенССЛ.хтмл
    Морате да скролујете до дна странице и преузмете Вин64 ОпенССЛ в1.1.1г ЕКСЕ 63МБ Инсталлер.
  2. Инсталирајте опенссл-1.1.1г на свој рачунар.
    Инсталација се мора извршити помоћу стандардне путање, која је аутоматски наведена у фасцикли Ц:Програм Филес. Програм ће бити инсталиран у фасциклу ОпенССЛ-Вин64.
  3. Да бисте конфигурисали опенССЛ како вам је потребно, постоји датотека опенссл.цфг. Ова датотека се налази на путањи Ц:Програм ФилесОпенССЛ-Вин64бин ако сте инсталирали опенССЛ као што је описано у претходном параграфу. Идите у фасциклу у којој се чува опенссл.цфг и отворите ову датотеку користећи, на пример, Нотепад++.
  4. Вероватно сте претпоставили да ће се конфигурација центра за сертификацију обавити некако мењањем садржаја датотеке опенссл.цфг и потпуно сте у праву. Да бисте то урадили, потребно је да конфигуришете команду [ца]. У датотеци опенссл.цфг, почетак текста где ћемо извршити измене може се наћи као: [ца].
  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
    

    Сада морате да креирате демоЦА директоријум и поддиректоријуме, као што је приказано у примеру изнад. И поставите га у овај директоријум дуж путање наведене у дир (имам /Усерс/усернаме/бин/опенССЛца/демоЦА).

    Веома је важно да исправно унесете дир - ово је пут до директоријума у ​​којем ће се налазити наш ауторитет за сертификацију. Овај директоријум мора да се налази у /Корисници (тј. на корисничком налогу). Ако овај директоријум ставите, на пример, у Ц:Програм Филес, систем неће видети датотеку поставки опенссл.цфг (барем је тако било за мене).

    $дир - путања наведена у дир се замењује овде.

    Још једна важна тачка је креирање празне датотеке индек.ткт; без ове датотеке, команде „опенССЛ ца…“ неће радити.

    Такође морате да имате серијски фајл, роот приватни кључ (ца.кеи) и роот сертификат (ца.црт). Процес добијања ових датотека биће описан у наставку.

  6. Омогућавамо алгоритме за шифровање које обезбеђује Рутокен.
    Ова веза се јавља у датотеци опенссл.цфг.

    • Пре свега, потребно је да преузмете неопходне Рутокен алгоритме. Ово су датотеке ртенгине.длл, ртпкцс11ецп.длл.
      Да бисте то урадили, преузмите Рутокен СДК: ввв.рутокен.ру/девелоперс/сдк.

      Рутокен СДК је све што постоји за програмере који желе да испробају Рутокен. Постоје оба појединачна примера за рад са Рутокеном у различитим програмским језицима, а представљене су и неке библиотеке. Наше библиотеке ртенгине.длл и ртпкцс11ецп.длл се налазе у Рутокен сдк, односно на локацији:

      сдк/опенссл/ртенгине/бин/виндовс-к86_64/либ/ртенгине.длл
      сдк/пкцс11/либ/виндовс-к86_64/ртпкцс11ецп.длл

      Веома важна тачка. Библиотеке ртенгине.длл, ртпкцс11ецп.длл не раде без инсталираног драјвера за Рутокен. Такође, Рутокен мора бити повезан са рачунаром. (за инсталацију свега што је потребно за Рутокен, погледајте претходни део чланка һабр.цом/ру/пост/506450)

    • Библиотеке ртенгине.длл и ртпкцс11ецп.длл могу се чувати било где у корисничком налогу.
    • Путеве до ових библиотека региструјемо у опенссл.цфг. Да бисте то урадили, отворите датотеку опенссл.цфг, на почетку ове датотеке треба да поставите ред:
      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
      

      динамиц_патх – потребно је да наведете своју путању до библиотеке ртенгине.длл.
      МОДУЛЕ_ПАТХ - морате навести своју путању до библиотеке ртпкцс11ецп.длл.

  7. Додавање променљивих окружења.

    Морате додати променљиву окружења која одређује путању до конфигурационе датотеке опенссл.цфг. У мом случају, променљива ОПЕНССЛ_ЦОНФ је креирана са путањом Ц:Програм ФилесОпенССЛ-Вин64бинопенссл.цфг.

    Променљива путање мора да садржи путању до фасцикле у којој се налази опенссл.еке, у мом случају је то: Ц:Програм ФилесОпенССЛ-Вин64бин.

  8. Сада се можете вратити на корак 5 и креирати датотеке које недостају за демоЦА директоријум.
    1. Прва важна датотека без које ништа неће функционисати је серијски. Ово је датотека без екстензије, чија вредност треба да буде 01. Ову датотеку можете сами да креирате и упишете унутра 01. Такође можете да је преузмете са Рутокен СДК-а дуж путање сдк/опенссл/ртенгине/самплес/тоол/демоЦА /.
      У демоЦА директоријуму се налази серијски фајл, који је управо оно што нам треба.
    2. Направите роот приватни кључ.
      Да бисмо то урадили, користићемо наредбу библиотеке опенССЛ, која се мора покренути директно на командној линији:

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

    3. Креирајте роот сертификат.
      Да бисмо то урадили, користићемо следећу команду из опенССЛ библиотеке:

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

      Имајте на уму да вам је за креирање роот сертификата потребан роот приватни кључ, који је креиран у претходном кораку. Према томе, командна линија мора бити покренута у истом директоријуму.

    Све датотеке које недостају за комплетну конфигурацију демоЦА директоријума су сада доступне. Поставите креиране датотеке у директоријуме наведене у кораку 5.

Претпоставићемо да је након испуњавања свих 8 тачака наш центар за сертификацију у потпуности конфигурисан.

У следећем делу ћу вам рећи како ћемо сарађивати са сертификационим органом да бисмо постигли оно што је описано у претходни део чланка.

Извор: ввв.хабр.цом

Додај коментар