ื“ืขืจืคืึทืจื•ื ื’ ืื™ืŸ ื ื™ืฆืŸ Rutoken ื˜ืขื›ื ืึธืœืึธื’ื™ืข ืคึฟืึทืจ ืจืขื“ื–ืฉื™ืกื˜ืขืจื™ื ื’ ืื•ืŸ ืึธื˜ืขืจื™ื™ื–ื™ื ื’ ื ื™ืฆืขืจืก ืื™ืŸ ื“ื™ ืกื™ืกื˜ืขื (ื˜ื™ื™ืœ 2)

ื ื’ื•ื˜ืŸ ืžื™ื˜ืื’ ืœืึธืžื™ืจ ืคืึธืจื–ืขืฆืŸ ืฆื• ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ ื“ืขื ื˜ืขืžืข (ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ื˜ื™ื™ืœ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื“ื™ ืœื™ื ืง).

ื”ื™ื™ึทื ื˜ ืœืึธืžื™ืจ ื’ื™ื™ืŸ ืื•ื™ืฃ ืฆื• ื“ื™ ืคึผืจืึทืงื˜ื™ืฉ ื˜ื™ื™ืœ. ืœืึธืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ื™ืŸ ื‘ืึทื•ื•ื™ื™ึทื–ืŸ ืื•ื™ื˜ืึธืจื™ื˜ืขื˜ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืคื•ืœ-ืคืœืขื“ื–ืฉื“ ืขืคึฟืขื ืขืŸ-ืžืงื•ืจ ืงืจื™ืคึผื˜ืึธื’ืจืึทืคื™ืง ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืึธืคึผืขื ืกืกืœ. ื“ืขื ืึทืœื’ืขืจื™ื“ืึทื ืื™ื– ื˜ืขืกื˜ืขื“ ืžื™ื˜ Windows 7.

ืžื™ื˜ OpenSSL ืื™ื ืกื˜ืึทืœื™ืจืŸ, ืžื™ืจ ืงืขื ืขืŸ ื“ื•ืจื›ืคื™ืจืŸ ืคืึทืจืฉื™ื“ืŸ ืงืจื™ืคึผื˜ืึธื’ืจืึทืคื™ืง ืึทืคึผืขืจื™ื™ืฉืึทื ื– (ืึทื–ืึท ื•ื•ื™ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืฉืœื™ืกืœืขืŸ ืื•ืŸ ืกืขืจื˜ื™ืคื™ืงืึทืฅ) ื“ื•ืจืš ื“ื™ ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื”.

ื“ื™ ืึทืœื’ืขืจื™ื“ืึทื ืคื•ืŸ ืึทืงืฉืึทื ื– ืื™ื– ื•ื•ื™ ื’ื™ื™ื˜:

  1. ืืจืืคืงืืคื™ืข ื“ื™ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ openssl-1.1.1g.
    openSSL ื”ืื˜ ืคืึทืจืฉื™ื“ืขื ืข ื•ื•ืขืจืกื™ืขืก. ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืึทืจ Rutoken ืกื˜ื™ื™ื˜ื™ื“ ืึทื– openSSL ื•ื•ืขืจืกื™ืข 1.1.0 ืึธื“ืขืจ ืฉืคึผืขื˜ืขืจ ืื™ื– ืคืืจืœืื ื’ื˜. ืื™ืš ื’ืขื•ื•ื™ื™ื ื˜ ืึธืคึผืขื ืกืกืœ-1.1.1ื’ ื•ื•ืขืจืกื™ืข. ืื™ืจ ืงืขื ืขืŸ ืืจืืคืงืืคื™ืข openSSL ืคึฟื•ืŸ ื“ืขืจ ื‘ืึทืึทืžื˜ืขืจ ื•ื•ืขื‘ื–ื™ื™ื˜ืœ, ืึธื‘ืขืจ ืคึฟืึทืจ ืึท ื’ืจื™ื ื’ืขืจ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ื˜ืขืงืข ืคึฟืึทืจ Windows ืื•ื™ืฃ ื“ืขืจ ืื™ื ื˜ืขืจื ืขืฅ. ืื™ืš ื”ืื‘ ื“ืืก ื’ืขื˜ื•ืŸ ืคืืจ ื“ื™ืจ: slproweb.com/products/Win32OpenSSL.html
    ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืžืขื’ื™ืœืข ืฆื• ื“ื™ ื“ื ืึธ ืคื•ืŸ ื“ื™ ื‘ืœืึทื˜ ืื•ืŸ ืืจืืคืงืืคื™ืข Win64 OpenSSL v1.1.1g EXE 63MB ื™ื ืกื˜ืึทืœืœืขืจ.
  2. ื™ื ืกื˜ืึทืœื™ืจืŸ openssl-1.1.1g ืื•ื™ืฃ ื“ื™ื™ืŸ ืงืึธืžืคึผื™ื•ื˜ืขืจ.
    ื“ื™ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืžื•ื–ืŸ ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืžื™ื˜ ื“ื™ ื ืึธืจืžืึทืœ ื“ืจืš, ื•ื•ืึธืก ืื™ื– ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ C: ืคึผืจืึธื’ืจืึทื ืคื™ืœืขืก ื˜ืขืงืข. ื“ืขืจ ืคึผืจืึธื’ืจืึทื ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื™ืŸ ื“ื™ OpenSSL-Win64 ื˜ืขืงืข.
  3. ืื™ืŸ ืกื“ืจ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ openSSL ื•ื•ื™ ืื™ืจ ื“ืึทืจืคึฟืŸ, ืขืก ืื™ื– ืึท ื˜ืขืงืข openssl.cfg. ื“ืขืจ ื˜ืขืงืข ืื™ื– ืœื™ื’ืŸ ืื™ืŸ ื“ืขื ื“ืจืš C: Program FilesOpenSSL-Win64bin ืื•ื™ื‘ ืื™ืจ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืึธืคึผืขื ืกืกืœ ื•ื•ื™ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืคึผืึทืจืึทื’ืจืึทืฃ. ื’ื™ื™ืŸ ืฆื• ื“ืขืจ ื˜ืขืงืข ื•ื•ื• openssl.cfg ืื™ื– ืกื˜ืึธืจื“ ืื•ืŸ ืขืคึฟืขื ืขืŸ ื“ืขื ื˜ืขืงืข ื ื™ืฆืŸ, ืœืžืฉืœ, ื ืึธื˜ืขืคึผืึทื“ ++.
  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
    

    ืื™ืฆื˜ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืึทืคึฟืŸ ื“ื™ ื“ืขืžืึธืงืึท ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื•ืŸ ืกื•ื‘ื“ื™ืจืขืงื˜ืึธืจื™ืขืก, ื•ื•ื™ ื’ืขื•ื•ื™ื–ืŸ ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ ืื•ื™ื‘ืŸ. ืื•ืŸ ืฉื˜ืขืœืŸ ืขืก ืื™ืŸ ื“ืขื ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืฆื•ื–ืืžืขืŸ ื“ืขื ื“ืจืš ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ืจ (ืื™ืš ื”ืึธื‘ืŸ /Users/Username/bin/openSSLca/demoCA).

    ืขืก ืื™ื– ื–ื™ื™ืขืจ ื•ื•ื™ื›ื˜ื™ืง ืฆื• ืึทืจื™ื™ึทืŸ ื“ื™ืจ ืจื™ื›ื˜ื™ืง - ื“ืึธืก ืื™ื– ื“ืขืจ ื•ื•ืขื’ ืฆื• ื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื•ื•ื• ืื•ื ื“ื–ืขืจ ืกืขืจื˜ืึทืคืึทืงื™ื™ืฉืึทืŸ ืื•ื™ื˜ืึธืจื™ื˜ืขื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืœื™ื’ืŸ. ื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืžื•ื–ืŸ ื–ื™ื™ืŸ ืœื™ื’ืŸ ืื™ืŸ / ื™ื•ื–ืขืจื– (ื“ืึธืก ืื™ื–, ืื™ืŸ ืึท ื‘ืึทื ื™ืฆืขืจ ื—ืฉื‘ื•ืŸ). ืื•ื™ื‘ ืื™ืจ ืฉื˜ืขืœืŸ ื“ืขื ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืŸ C: ืคึผืจืึธื’ืจืึทื ืคื™ืœืขืก, ื“ื™ ืกื™ืกื˜ืขื ื•ื•ืขื˜ ื ื™ืฉื˜ ื–ืขืŸ ื“ื™ ืึธืคึผืขื ืกืกืœ.ืงืคื’ ืกืขื˜ื˜ื™ื ื’ืก ื˜ืขืงืข (ื‘ื™ื™ึท ืžื™ื ื“ืกื˜ืขืจ ื“ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ืคึฟืึทืจ ืžื™ืจ).

    $dir - ื“ืขืจ ื“ืจืš ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ืจ ืื™ื– ืกืึทื‘ืกื˜ืึทื˜ื•ื˜ืึทื“ ื“ืึธ.

    ืืŸ ืื ื“ืขืจ ื•ื•ื™ื›ื˜ื™ืง ืคื•ื ื˜ ืื™ื– ืฆื• ืฉืึทืคึฟืŸ ืึท ืœื™ื™ื“ื™ืง index.txt ื˜ืขืงืข; ืึธืŸ ื“ืขื ื˜ืขืงืข, ื“ื™ "openSSL ca ..." ืงืึทืžืึทื ื“ื– ื•ื•ืขื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ.

    ืื™ืจ ืื•ื™ืš ื“ืึทืจืคึฟืŸ ืฆื• ื”ืึธื‘ืŸ ืึท ืกื™ืจื™ืึทืœ ื˜ืขืงืข, ืึท ื•ื•ืึธืจืฆืœ ืคึผืจื™ื•ื•ืึทื˜ ืฉืœื™ืกืœ (ca.key) ืื•ืŸ ืึท ื•ื•ืึธืจืฆืœ ื‘ืึทื•ื•ื™ื™ึทื–ืŸ (ca.crt). ื“ืขืจ ืคึผืจืึธืฆืขืก ืคื•ืŸ ืงืจื™ื’ืŸ ื“ื™ ื˜ืขืงืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื•ื ื˜ืŸ.

  6. ืžื™ืจ ื’ืขื‘ืŸ ืขื ืงืจื™ืคึผืฉืึทืŸ ืึทืœื’ืขืจื™ื“ืึทืžื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš Rutoken.
    ื“ืขืจ ืงืฉืจ ืึทืงืขืจื– ืื™ืŸ ื“ื™ ืึธืคึผืขื ืกืกืœ.ืงืคื’ ื˜ืขืงืข.

    • ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ ื“ื™ ื ื™ื™ื˜ื™ืง 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/ru/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_CONF ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ื– ื‘ืืฉืืคืŸ ืžื™ื˜ ื“ืขื ื“ืจืš C: Program FilesOpenSSL-Win64binopenssl.cfg.

    ื“ืขืจ ื•ื•ืขื’ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืžื•ื–ืŸ ืึทื ื˜ื”ืึทืœื˜ืŸ ื“ืขื ื“ืจืš ืฆื• ื“ืขืจ ื˜ืขืงืข ื•ื•ื• openssl.exe ืื™ื– ืœื™ื’ืŸ, ืื™ืŸ ืžื™ื™ืŸ ืคืึทืœ ืขืก ืื™ื–: C: Program FilesOpenSSL-Win64bin.

  8. ืื™ืฆื˜ ืื™ืจ ืงืขื ืขืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฆื• ืฉืจื™ื˜ 5 ืื•ืŸ ืžืึทื›ืŸ ื“ื™ ืคืขืœื ื“ื™ืง ื˜ืขืงืขืก ืคึฟืึทืจ ื“ื™ ื“ืขืžืึธืงืึท ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ.
    1. ื“ืขืจ ืขืจืฉื˜ืขืจ ื•ื•ื™ื›ื˜ื™ืง ื˜ืขืงืข ืึธืŸ ื•ื•ืึธืก ื’ืึธืจื ื™ืฉื˜ ื•ื•ืขื˜ ืึทืจื‘ืขื˜ืŸ ืื™ื– ืกื™ืจื™ืึทืœ. ื“ืึธืก ืื™ื– ืึท ื˜ืขืงืข ืึธืŸ ืึท ืคืึทืจืœืขื ื’ืขืจื•ื ื’, ื“ื™ ื•ื•ืขืจื˜ ืคื•ืŸ ื•ื•ืึธืก ื–ืึธืœ ื–ื™ื™ืŸ 01. ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ื“ืขื ื˜ืขืงืข ื–ื™ืš ืื•ืŸ ืฉืจื™ื™ึทื‘ืŸ 01 ื™ืŸ. ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ืืจืืคืงืืคื™ืข ืขืก ืคื•ืŸ ื“ื™ Rutoken SDK ืื•ื™ืฃ ื“ื™ ื“ืจืš sdk/openssl/rtengine/samples/tool/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

      ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– ืฆื• ืฉืึทืคึฟืŸ ืึท ื•ื•ืึธืจืฆืœ ื‘ืึทื•ื•ื™ื™ึทื–ืŸ, ืื™ืจ ื“ืึทืจืคึฟืŸ ื“ื™ ื•ื•ืึธืจืฆืœ ืคึผืจื™ื•ื•ืึทื˜ ืฉืœื™ืกืœ, ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ื‘ืืฉืืคืŸ ืื™ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืฉืจื™ื˜. ื“ืขืจื™ื‘ืขืจ, ื“ื™ ื‘ืึทืคึฟืขืœ ืฉื•ืจื” ืžื•ื–ืŸ ื–ื™ื™ืŸ ืœืึธื ื˜ืฉื˜ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ.

    ื›ืœ ื“ื™ ืคืขืœื ื“ื™ืง ื˜ืขืงืขืก ืคึฟืึทืจ ื“ื™ ื’ืึทื ืฅ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ื“ืขืžืึธืงืึท ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื–ืขื ืขืŸ ืื™ืฆื˜ ื‘ื ื™ืžืฆื. ืฉื˜ืขืœืŸ ื“ื™ ื‘ืืฉืืคืŸ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ื“ื™ืจืขืงื˜ืขืจื™ื– ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ืฉืจื™ื˜ 5.

ืžื™ืจ ื•ื•ืขืœืŸ ื™ื‘ืขืจื ืขืžืขืŸ ืึทื– ื ืึธืš ืงืึทืžืคึผืœื™ื˜ื™ื ื’ ืึทืœืข 8 ืคื•ื ืงื˜ืŸ, ืื•ื ื“ื–ืขืจ ืกืขืจื˜ืึทืคืึทืงื™ื™ืฉืึทืŸ ืฆืขื ื˜ืขืจ ืื™ื– ื’ืึธืจ ืงืึทื ืคื™ื’ื™ืขืจื“.

ืื™ืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ื˜ื™ื™ืœ ืื™ืš ื•ื•ืขื˜ ื–ืึธื’ืŸ ืื™ืจ ื•ื•ื™ ืžื™ืจ ื•ื•ืขืœืŸ ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื“ื™ ืกืขืจื˜ืึทืคืึทืงื™ื™ืฉืึทืŸ ืื•ื™ื˜ืึธืจื™ื˜ืขื˜ ืฆื• ื•ื™ืกืคื™ืจืŸ ื•ื•ืึธืก ืื™ื– ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ืคืจื™ื™ึทืขืจื“ื™ืง ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’