Reynsla af notkun Rutoken tækni til að skrá og heimila notendur í kerfinu (hluti 2)

Góðan daginn Höldum áfram með þetta efniFyrri hlutann má finna á hlekknum).

Í dag förum við yfir í verklega hlutann. Byrjum á því að setja upp CA okkar byggt á fullgildu opna dulmálssafninu openSSL. Þetta reiknirit hefur verið prófað með Windows 7.

Með openSSL uppsett getum við framkvæmt ýmsar dulritunaraðgerðir (svo sem að búa til lykla og vottorð) í gegnum skipanalínuna.

Reiknirit aðgerða er sem hér segir:

  1. Sæktu uppsetningardreifinguna openssl-1.1.1g.
    openSSL hefur mismunandi útgáfur. Skjölin fyrir Rutoken sögðu að openSSL útgáfa 1.1.0 eða nýrri sé nauðsynleg. Ég notaði openssl-1.1.1g útgáfu. Þú getur halað niður openSSL frá opinberu síðunni, en til að auðvelda uppsetningu þarftu að finna uppsetningarskrána fyrir Windows á netinu. Ég gerði þetta fyrir þig: slproweb.com/products/Win32OpenSSL.html
    Skrunaðu niður síðuna og halaðu niður Win64 OpenSSL v1.1.1g EXE 63MB uppsetningarforriti.
  2. Settu openssl-1.1.1g á tölvuna.
    Uppsetning verður að fara fram samkvæmt stöðluðu slóðinni, sem er sjálfkrafa tilgreind í C: Program Files möppunni. Forritið verður sett upp í OpenSSL-Win64 möppunni.
  3. Til þess að setja openSSL upp eins og þú þarft er til openssl.cfg skráin. Þessi skrá er staðsett í C:\Program Files\OpenSSL-Win64bin slóðinni ef þú settir upp openSSL eins og lýst er í fyrri málsgrein. Farðu í möppuna þar sem openssl.cfg er geymt og opnaðu þessa skrá með því að nota til dæmis Notepad++.
  4. Þú hefur sennilega giskað á að vottunarvaldið verði stillt einhvern veginn með því að breyta innihaldi openssl.cfg skráarinnar og það er alveg rétt hjá þér. Þetta krefst sérsmíðunar á [ ca ] skipuninni. Í openssl.cfg skránni má finna upphaf textans þar sem við munum gera breytingar sem: [ ca ].
  5. Nú mun ég gefa dæmi um stillingu með lýsingu hennar:
    [ 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ú þurfum við að búa til demoCA skrána og undirmöppur eins og sýnt er í dæminu hér að ofan. Og settu það í þessa möppu meðfram slóðinni sem er tilgreind í dir (ég er með /Users/notendanafn/bin/openSSLca/demoCA).

    Það er mjög mikilvægt að stafa dir rétt - þetta er slóðin að skránni þar sem vottunarmiðstöðin okkar verður staðsett. Þessi mappa verður að vera staðsett í /Users (þ.e. á reikningi einhvers notanda). Ef þú setur þessa möppu, til dæmis, í C: Program Files, mun kerfið ekki sjá skrána með openssl.cfg stillingunum (að minnsta kosti var það þannig hjá mér).

    $dir - slóðin sem tilgreind er í dir kemur í staðinn hér.

    Annað mikilvægt atriði er að búa til tóma index.txt skrá, án þessarar skráar munu „openSSL ca …“ skipanirnar ekki virka.

    Þú þarft líka að hafa raðskrá, rót einkalykil (ca.key), rótarvottorð (ca.crt). Ferlið við að fá þessar skrár verður lýst hér að neðan.

  6. Við tengjum dulkóðunaralgrímin sem Rutoken býður upp á.
    Þessi tenging á sér stað í openssl.cfg skránni.

    • Fyrst af öllu þarftu að hlaða niður nauðsynlegum Rutoken reikniritum. Þetta eru skrárnar rtengine.dll, rtpkcs11ecp.dll.
      Til að gera þetta skaltu hlaða niður Rutoken SDK: www.rutoken.ru/developers/sdk.

      Rutoken SDK er allt sem er til fyrir forritara sem vilja prófa Rutoken. Það eru bæði aðskilin dæmi um að vinna með Rutoken á mismunandi forritunarmálum og sum bókasöfn eru kynnt. Bókasöfnin okkar rtengine.dll og rtpkcs11ecp.dll eru staðsett í Rutoken sdk, hver um sig, á staðsetningunni:

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

      Mjög mikilvægt atriði. Bókasöfn rtengine.dll, rtpkcs11ecp.dll virka ekki án uppsetts rekils fyrir Rutoken. Einnig verður Rutoken að vera tengdur við tölvuna. (til að setja upp allt sem þú þarft fyrir Rutoken, sjá fyrri hluta greinarinnar habr.com/en/post/506450)

    • Hægt er að geyma rtengine.dll og rtpkcs11ecp.dll bókasöfnin hvar sem er á notendareikningnum.
    • Við skrifum slóðina að þessum bókasöfnum í openssl.cfg. Til að gera þetta, opnaðu openssl.cfg skrána, settu línuna í byrjun þessarar skráar:
      openssl_conf = openssl_def

      Í lok skrárinnar þarftu að bæta við:

      [ 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 - þú verður að tilgreina slóð þína að rtengine.dll bókasafninu.
      MODULE_PATH - þú þarft að setja leið þína á rtpkcs11ecp.dll bókasafnið.

  7. Bætir við umhverfisbreytum.

    Vertu viss um að bæta við umhverfisbreytu sem tilgreinir slóðina að openssl.cfg stillingarskránni. Í mínu tilviki var OPENSSL_CONF breytan búin til með slóðinni C:Program FilesOpenSSL-Win64binopenssl.cfg.

    Í slóðabreytunni verður þú að tilgreina slóðina að möppunni þar sem openssl.exe er staðsett, í mínu tilviki er það: C: Program FilesOpenSSL-Win64bin.

  8. Nú geturðu farið aftur í skref 5 og búið til skrárnar sem vantar fyrir demoCA möppuna.
    1. Fyrsta mikilvæga skráin sem ekkert mun virka án er raðnúmer. Þetta er skrá án framlengingar, gildi hennar ætti að vera 01. Þú getur búið til þessa skrá sjálfur og skrifað inn 01. Þú getur líka halað henni niður frá Rutoken SDK eftir slóðinni sdk/openssl/rtengine/samples/tool/demoCA /.
      DemoCA skráin inniheldur raðskrána, sem er nákvæmlega það sem við þurfum.
    2. Búðu til rót einkalykil.
      Til að gera þetta munum við nota openSSL bókasafnsskipunina, sem verður að keyra beint á skipanalínunni:

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

    3. Við búum til rótarvottorð.
      Til að gera þetta skaltu nota eftirfarandi openSSL bókasafnsskipun:

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

      Vinsamlegast athugaðu að rót einkalykillinn, sem var búinn til í fyrra skrefi, er nauðsynlegur til að búa til rótarvottorðið. Þess vegna verður skipanalínan að vera ræst í sömu möppu.

    Allt hefur nú allar skrárnar sem vantar fyrir fullkomna uppsetningu á demoCA möppunni. Settu tilbúnar skrár í möppurnar sem tilgreindar eru í lið 5.

Við gerum ráð fyrir að eftir að hafa lokið öllum 8 stigunum sé vottunarmiðstöðin okkar að fullu stillt.

Í næsta hluta mun ég lýsa því hvernig við munum vinna með vottunaryfirvöldum til að ná því sem lýst var í fyrri hluta greinarinnar.

Heimild: www.habr.com

Bæta við athugasemd