ΠΠΎΠ±ΡΡ Π΄Π΅Π½ ΠΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠΌ Ρ ΡΠ°Π·ΠΈ ΡΠ΅ΠΌΠ°
ΠΠ½Π΅Ρ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΊΡΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΡΠ°ΡΡ. ΠΠ΅ΠΊΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ, ΠΊΠ°ΡΠΎ Π½Π°ΡΡΡΠΎΠΈΠΌ Π½Π°ΡΠΈΡ CA Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½Π°ΡΠ° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ openSSL. Π’ΠΎΠ·ΠΈ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π΅ ΡΠ΅ΡΡΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Windows 7.
Π‘ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ openSSL ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ) ΡΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄.
ΠΠ»Π³ΠΎΡΠΈΡΡΠΌΡΡ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΅ ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°:
- ΠΠ·ΡΠ΅Π³Π»Π΅ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π½Π°ΡΠ° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ openssl-1.1.1g.
openSSL ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ. Π Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° Rutoken ΡΠ΅ ΠΊΠ°Π·Π²Π°, ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° openSSL Π²Π΅ΡΡΠΈΡ 1.1.0 ΠΈΠ»ΠΈ ΠΏΠΎ-Π½ΠΎΠ²Π°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²Π΅ΡΡΠΈΡ openssl-1.1.1g. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ openSSL ΠΎΡ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡ ΡΠ°ΠΉΡ, Π½ΠΎ Π·Π° ΠΏΠΎ-Π»Π΅ΡΠ½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π·Π° windows Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΠ°ΠΏΡΠ°Π²ΠΈΡ ΡΠΎΠ²Π° Π·Π° ΡΠ΅Π±: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 .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/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. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° Π³ΠΎ ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ ΠΎΡ Rutoken SDK ΠΏΠΎ ΠΏΡΡΡ sdk/openssl/rtengine/samples/tool/demoCA /.
ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° demoCA ΡΡΠ΄ΡΡΠΆΠ° ΡΠ΅ΡΠΈΠΉΠ½ΠΈΡ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π°, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ. - Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ root ΡΠ°ΡΡΠ΅Π½ ΠΊΠ»ΡΡ.
ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° openSSL Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄: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. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° Π³ΠΎ ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ ΠΎΡ Rutoken SDK ΠΏΠΎ ΠΏΡΡΡ sdk/openssl/rtengine/samples/tool/demoCA /.
Π©Π΅ ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ, ΡΠ΅ ΡΠ»Π΅Π΄ ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈΡΠ΅ 8 ΡΠΎΡΠΊΠΈ, Π½Π°ΡΠΈΡΡ ΡΠ΅Π½ΡΡΡ Π·Π° ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½.
Π ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΠ°ΡΡ ΡΠ΅ ΠΎΠΏΠΈΡΠ° ΠΊΠ°ΠΊ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠ°ΡΠΈΡ ΠΎΡΠ³Π°Π½, Π·Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΎΡΠΎ Π²
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com