ืืืจ ืืฆืืจืืื ืืืืื ืืืื ื ืืฉืื ืขื ืื ืืฉื ืืื
ืืืื ื ืขืืืจ ืืืืง ืืืขืฉื. ื ืชืืื ืืืืืจืช CA ืฉืื ื ืืืชืืกืก ืขื ืกืคืจืืืช ืืืฆืคื ื ืืืืื ืืงืื ืคืชืื openSSL. ืืืืืจืืชื ืื ื ืืืง ืืืืฆืขืืช Windows 7.
ืืืฉืจ openSSL ืืืชืงื, ืื ื ืืืืืื ืืืฆืข ืคืขืืืืช ืงืจืืคืืืืจืคืืืช ืฉืื ืืช (ืืืื ืืฆืืจืช ืืคืชืืืช ืืชืขืืืืช) ืืืืฆืขืืช ืฉืืจืช ืืคืงืืื.
ืืืืืจืืชื ืืคืขืืืืช ืืื ืืืืงืื:
- ืืืจื ืืช ืืคืฆืช ืืืชืงื ื openssl-1.1.1g.
ื-openSSL ืืฉ ืืจืกืืืช ืฉืื ืืช. ืืชืืขืื ืฉื Rutoken ืืืจ ืฉื ืืจืฉืช openSSL ืืจืกื 1.1.0 ืืืขืื. ืืฉืชืืฉืชื ืืืจืกืช openssl-1.1.1g. ืืชื ืืืื ืืืืจืื ืืช openSSL ืืืืชืจ ืืจืฉืื, ืืื ืืืชืงื ื ืงืื ืืืชืจ, ืขืืื ืืืฆืื ืืช ืงืืืฅ ืืืชืงื ื ืฉื ืืืื ืืช ืืจืฉืช. ืขืฉืืชื ืืช ืื ืืฉืืืื:slproweb.com/products/Win32OpenSSL.html
ืืืื ืืืื ืืขืืื ืืืืจื ืืช Win64 OpenSSL v1.1.1g EXE 63MB Installer. - ืืชืงื openssl-1.1.1g ืืืืฉื.
ืืืชืงื ื ืืืืืช ืืืชืืฆืข ืืคื ืื ืชืื ืืกืื ืืจืื, ืฉืืฆืืื ืืืืืืืืช ืืชืืงืืืช C: Program Files. ืืชืืื ืืช ืชืืชืงื ืืชืืงืืืช OpenSSL-Win64. - ืขื ืื ืช ืืืืืืจ ืืช openSSL ืืคื ืฉืืชื ืฆืจืื, ืืฉ ืืช ืืงืืืฅ openssl.cfg. ืงืืืฅ ืื ืืืืงื ืื ืชืื C:\Program Files\OpenSSL-Win64bin ืื ืืชืงื ืช ืืช openSSL ืืืชืืืจ ืืคืกืงื ืืงืืืืช. ืขืืืจ ืืชืืงืื ืฉืื ืืืืืกื openssl.cfg ืืคืชื ืืช ืืงืืืฅ ืืื ืืืืฆืขืืช, ืืืฉื, Notepad++.
- ืืื ื ืืืฉืชื ืฉืจืฉืืช ืืืืฉืืจืื ืชืืืืจ ืืืืฉืื ืขื ืืื ืฉืื ืื ืืชืืื ืฉื ืืงืืืฅ openssl.cfg, ืืืชื ืฆืืืงืื ืืืืืืื. ืื ืืืจืฉ ืืชืืื ืืืฉืืช ืฉื ืืคืงืืื [ca]. ืืงืืืฅ openssl.cfg, ื ืืชื ืืืฆืื ืืช ืชืืืืช ืืืงืกื ืฉืื ื ืืฆืข ืฉืื ืืืื ื: [ ca ].
- ืืขืช ืืชื ืืืืื ืืืืืจื ืขื ืืชืืืืจ ืฉืื:
[ 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). ืชืืืื ืืฉืืช ืืงืืฆืื ืืืื ืืชืืืจ ืืืื.
- ืื ื ืืืืจืื ืืช ืืืืืจืืชืื ืืืฆืคื ื ืืืกืืคืงืื ืขื ืืื Rutoken.
ืืืืืจ ืื ืืชืจืืฉ ืืงืืืฅ openssl.cfg.- ืงืืื ืื, ืืชื ืฆืจืื ืืืืจืื ืืช ืืืืืืจืืชืืื ืืืจืืฉืื ืฉื Rutoken. ืืื ืื ืืงืืฆืื rtengine.dll, rtpkcs11ecp.dll.
ืืื ืืขืฉืืช ืืืช, ืืืจื ืืช Rutoken SDK:www.rutoken.ru/developers/sdk .ื-SDK ืฉื Rutoken ืืื ืื ืื ืฉืืฉ ืืืคืชืืื ืฉืจืืฆืื ืื ืกืืช ืืช 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.
- ืงืืื ืื, ืืชื ืฆืจืื ืืืืจืื ืืช ืืืืืืจืืชืืื ืืืจืืฉืื ืฉื Rutoken. ืืื ืื ืืงืืฆืื rtengine.dll, rtpkcs11ecp.dll.
- ืืืกืคืช ืืฉืชื ื ืกืืืื.
ืืงืคื ืืืืกืืฃ ืืฉืชื ื ืกืืืื ืืืฆืืื ืืช ืื ืชืื ืืงืืืฅ ืืชืฆืืจื openssl.cfg. ืืืงืจื ืฉืื, ืืืฉืชื ื OPENSSL_CONF ื ืืฆืจ ืขื ืื ืชืื C:Program FilesOpenSSL-Win64binopenssl.cfg.
ืืืฉืชื ื ืื ืชืื, ืขืืื ืืฆืืื ืืช ืื ืชืื ืืชืืงืื ืฉืื ื ืืฆื openssl.exe, ืืืงืจื ืฉืื ืืื: C: Program FilesOpenSSL-Win64bin.
- ืืขืช ืชืืื ืืืืืจ ืืฉืื 5 ืืืืฆืืจ ืืช ืืงืืฆืื ืืืกืจืื ืขืืืจ ืกืคืจืืืช demoCA.
- ืืงืืืฅ ืืืฉืื ืืจืืฉืื ืฉืืืขืืื ืฉืื ืืืจ ืื ืืขืืื ืืื ืกืืจืชื. ืืื ืงืืืฅ ืืื ืกืืืืช ืฉืขืจืื ืฆืจืื ืืืืืช 01. ืืชื ืืืื ืืืฆืืจ ืืช ืืงืืืฅ ืืื ืืขืฆืื ืืืืชืื ืืชืืื 01. ืืชื ืืืื ืื ืืืืจืื ืืืชื ืื-SDK ืฉื Rutoken ืืืืจื ืื ืชืื sdk/openssl/rtengine/samples/tool/demoCA /.
ืกืคืจืืืช demoCA ืืืืื ืืช ืืงืืืฅ ืืกืืจืชื, ืืื ืืืืืง ืื ืฉืื ืื ื ืฆืจืืืื. - ืฆืืจ ืืคืชื ืคืจืื ืฉืืจืฉ.
ืืฉื ืื, ื ืฉืชืืฉ ืืคืงืืื openSSL library, ืืืชื ืืฉ ืืืคืขืื ืืฉืืจืืช ืืฉืืจืช ืืคืงืืื:openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key
- ืื ื ืืืฆืจืื ืชืขืืืช ืฉืืจืฉ.
ืืื ืืขืฉืืช ืืืช, ืืฉืชืืฉ ืืคืงืืื ืืืื ืฉื ืกืคืจืืืช openSSL:openssl req -utf8 -x509 -key ca.key -out ca.crt
ืฉืื ืื ืฉืืืคืชื ืืคืจืื ืฉื ืืฉืืจืฉ, ืฉื ืืฆืจ ืืฉืื ืืงืืื, ื ืืจืฉ ืืืฆืืจืช ืืืฉืืจ ืืฉืืจืฉ. ืืื, ืฉืืจืช ืืคืงืืื ืืืืืช ืืืืืช ืืืคืขืืช ืืืืชื ืกืคืจืืื.
ืืื ืืืื ืืขืช ืืช ืื ืืงืืฆืื ืืืกืจืื ืขืืืจ ืืชืฆืืจื ืืืืื ืฉื ืกืคืจืืืช demoCA. ืืงื ืืช ืืงืืฆืื ืฉื ืืฆืจื ืืกืคืจืืืช ืืืฆืืื ืืช ืืกืขืืฃ 5.
- ืืงืืืฅ ืืืฉืื ืืจืืฉืื ืฉืืืขืืื ืฉืื ืืืจ ืื ืืขืืื ืืื ืกืืจืชื. ืืื ืงืืืฅ ืืื ืกืืืืช ืฉืขืจืื ืฆืจืื ืืืืืช 01. ืืชื ืืืื ืืืฆืืจ ืืช ืืงืืืฅ ืืื ืืขืฆืื ืืืืชืื ืืชืืื 01. ืืชื ืืืื ืื ืืืืจืื ืืืชื ืื-SDK ืฉื Rutoken ืืืืจื ืื ืชืื sdk/openssl/rtengine/samples/tool/demoCA /.
ืื ื ื ื ืื ืฉืืืืจ ืืฉืืืช ืื 8 ืื ืงืืืืช, ืืจืื ืืืกืืื ืฉืื ื ืืืืืจ ืืืืืื.
ืืืืง ืืื, ืืชืืจ ืืืฆื ื ืขืืื ืขื ืจืฉืืช ืืืืฉืืจืื ืขื ืื ืช ืืืฆืข ืืช ืื ืฉืชืืืจ ื
ืืงืืจ: www.habr.com