Eksperyans nan itilize teknoloji Rutoken pou anrejistre ak otorize itilizatè yo nan sistèm nan (pati 2)

Bon apremidi Ann kontinye fè fas ak sijè sa a (Ou ka jwenn pati anvan an nan lyen an).

Jodi a ann ale nan pati pratik la. Ann kòmanse pa mete otorite sètifika w la ki baze sou bibliyotèk kriptografik openSSL plen plen sous louvri. Algorithm sa a te teste lè l sèvi avèk Windows 7.

Avèk openSSL enstale, nou ka fè plizyè operasyon kriptografik (tankou génération kle ak sètifika) atravè liy lòd la.

Algoritm aksyon an se jan sa a:

  1. Telechaje enstalasyon distribisyon openssl-1.1.1g.
    openSSL gen diferan vèsyon. Dokimantasyon pou Rutoken te deklare ke se openSSL vèsyon 1.1.0 oswa pita obligatwa. Mwen te itilize vèsyon openssl-1.1.1g. Ou ka telechaje openSSL nan sit entènèt ofisyèl la, men pou yon enstalasyon pi fasil ou bezwen jwenn dosye enstalasyon Windows sou entènèt la. Mwen te fè sa pou ou: slproweb.com/products/Win32OpenSSL.html
    Ou bezwen fè pati anba a nan paj la epi telechaje Win64 OpenSSL v1.1.1g EXE 63MB Enstalatè.
  2. Enstale openssl-1.1.1g sou òdinatè w lan.
    Enstalasyon an dwe fèt lè l sèvi avèk chemen estanda a, ki se otomatikman espesifye nan folder nan C: Program Files. Pwogram nan pral enstale nan katab OpenSSL-Win64 la.
  3. Yo nan lòd yo konfigirasyon openSSL jan ou bezwen, gen yon dosye openssl.cfg. Fichye sa a sitiye nan chemen C:Program FilesOpenSSL-Win64bin si ou enstale openSSL jan sa dekri nan paragraf anvan an. Ale nan katab la kote openssl.cfg estoke epi ouvri fichye sa a lè l sèvi avèk, pou egzanp, Notepad ++.
  4. Ou pwobableman devine ke konfigirasyon sant sètifikasyon an pral fè pa yon jan kanmenm chanje sa ki nan dosye a openssl.cfg, epi ou gen absoliman dwa. Pou fè sa, ou bezwen configured kòmandman [ca]. Nan fichye openssl.cfg la, yo ka jwenn kòmansman tèks la kote nou pral fè chanjman yo: [ca].
  5. Koulye a, mwen pral bay yon egzanp yon konfigirasyon ak deskripsyon li yo:
    [ 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
    

    Koulye a, ou bezwen kreye anyè demoCA ak sou-reperyè, jan yo montre nan egzanp ki anwo a. Epi mete l nan anyè sa a sou chemen ki espesifye nan dir (mwen gen /Users/username/bin/openSSLca/demoCA).

    Li enpòtan anpil pou antre nan dir kòrèkteman - sa a se chemen an nan anyè kote otorite sètifikasyon nou an pral ye. Anyè sa a dwe lokalize nan /Users (ki vle di, nan yon kont itilizatè). Si ou mete anyè sa a, pa egzanp, nan C: Program Files, sistèm lan p ap wè fichye paramèt openssl.cfg (omwen se konsa li te ye pou mwen).

    $dir - chemen ki espesifye nan dir ranplase isit la.

    Yon lòt pwen enpòtan se kreye yon dosye index.txt vid san dosye sa a, kòmandman "openSSL ca ..." pa pral travay.

    Ou bezwen tou gen yon dosye seri, yon kle prive rasin (ca.key), ak yon sètifika rasin (ca.crt). Pwosesis pou jwenn dosye sa yo pral dekri anba a.

  6. Nou pèmèt algorithm chifreman Rutoken ofri.
    Koneksyon sa a fèt nan dosye openssl.cfg.
    • Premye a tout, ou bezwen telechaje algoritm Rutoken ki nesesè yo. Sa yo se dosye yo rtengine.dll, rtpkcs11ecp.dll.
      Pou fè sa, telechaje Rutoken SDK la: www.rutoken.ru/developers/sdk.

      Rutoken SDK se tout sa ki genyen pou devlopè ki vle eseye Rutoken. Genyen tou de egzanp endividyèl pou travay ak Rutoken nan diferan lang pwogramasyon, ak kèk bibliyotèk yo prezante. Bibliyotèk nou yo rtengine.dll ak rtpkcs11ecp.dll yo sitiye nan Rutoken sdk, respektivman nan kote sa a:

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

      Yon pwen trè enpòtan. Bibliyotèk yo rtengine.dll, rtpkcs11ecp.dll pa travay san chofè a enstale pou Rutoken. Epitou, Rutoken dwe konekte ak òdinatè a. (pou enstalasyon tout sa ki nesesè pou Rutoken, gade pati anvan atik la habr.com/en/post/506450)

    • Bibliyotèk rtengine.dll ak rtpkcs11ecp.dll ka kenbe nenpòt kote nan kont itilizatè a.
    • Nou anrejistre chemen ki mennen nan bibliyotèk sa yo nan openssl.cfg. Pou fè sa, louvri dosye a openssl.cfg, nan kòmansman fichye sa a ou bezwen mete liy lan:
      openssl_conf = openssl_def

      Nan fen dosye a ou bezwen ajoute:

      [ 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 - ou bezwen presize chemen ou nan bibliyotèk la rtengine.dll.
      MODULE_PATH - ou dwe presize chemen ou nan bibliyotèk rtpkcs11ecp.dll.

  7. Ajoute varyab anviwònman an.

    Ou dwe ajoute yon varyab anviwònman ki espesifye chemen an nan dosye a konfigirasyon openssl.cfg. Nan ka mwen an, yo te kreye varyab OPENSSL_CONF ak chemen C:Program FilesOpenSSL-Win64binopenssl.cfg.

    Varyab chemen an dwe genyen chemen ki mennen nan katab kote openssl.exe sitiye, nan ka mwen an li se: C:Program FilesOpenSSL-Win64bin.

  8. Koulye a, ou ka retounen nan etap 5 epi kreye dosye ki manke yo pou anyè demoCA a.
    1. Premye fichye enpòtan an san yo pa anyen pa pral travay se seri. Sa a se yon fichye san ekstansyon, valè a ta dwe 01. Ou ka kreye fichye sa a tèt ou epi ekri 01 andedan Ou ka telechaje li tou nan Rutoken SDK sou chemen sdk/openssl/rtengine/samples/tool/demoCA. /.
      Nan anyè demoCA a gen yon dosye seri, ki se egzakteman sa nou bezwen.
    2. Kreye yon kle prive rasin.
      Pou fè sa, nou pral sèvi ak kòmandman bibliyotèk openSSL la, ki dwe kouri dirèkteman sou liy lòd la:
      openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key

    3. Kreye yon sètifika rasin.
      Pou fè sa, nou pral sèvi ak lòd sa a nan bibliyotèk openSSL la:
      openssl req -utf8 -x509 -key ca.key -out ca.crt

      Tanpri sonje ke pou kreye yon sètifika rasin, ou bezwen kle prive rasin lan, ki te kreye nan etap anvan an. Se poutèt sa, liy lòd la dwe lanse nan menm anyè a.

    Tout fichye ki manke yo pou konfigirasyon konplè anyè demoCA yo disponib kounye a. Mete fichye kreye yo nan anyè yo espesifye nan etap 5.

Nou pral asime ke apre w fin ranpli tout pwen 8, sant sètifikasyon nou an konplètman configuré.

Nan pwochen pati a mwen pral di w kouman nou pral travay ak otorite sètifikasyon an pou akonpli sa ki dekri nan pati anvan atik la.

Sous: www.habr.com

Achte hosting serye pou sit ki gen pwoteksyon DDoS, sèvè VPS VDS 🔥 Achte yon hébergement sit entènèt serye ak pwoteksyon DDoS, sèvè VPS VDS | ProHoster