рдкрдмреНрд▓рд┐рдХ рдХреА рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрд╢рди рдЕрдереЙрд░рд┐рдЯреА рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдФрд░ SQLite3 рдпреВрдЯрд┐рд▓рд┐рдЯреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд (Postcryptum)

рдПрдХ рдмрдпрд╛рди рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдЧрд╛рд░реЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ:
рд▓реЗрдХрд┐рди рдЖрдЬ рдХреЗ рдУрдкрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ GOST R 34.11-2012 рдФрд░ GOST R 34.10-2012 рджреЛрдиреЛрдВ рдХрд╛ рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрд╕реНрдХрд░рдг 1.1 рдореЗрдВ, GOST рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд╕рдорд░реНрдерди рдХреЛ рдорд╛рдирдХ рд╡рд┐рддрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ ("GOST рдЗрдВрдЬрди рдкреБрд░рд╛рдирд╛ рдерд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред"
рдпрд╣ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛:
рдРрд╕рд╛ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ "рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛?" github.com/gost-engine/engine
рдмрд┐рд▓реНрдб рдЙрджрд╛рд╣рд░рдг : github.com/rnixik/docker-openssl-gost/blob/master/Dockerfile

CAFL63 CA рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдмрд┐рд▓реНрдб рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдУрдкрдирдПрд╕рдПрд▓ рдФрд░ GOST рдЗрдВрдЬрди рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╣реА рдЗрдХрдЯреНрдард╛ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рд╕рдм рдХреБрдЫ рд▓рд┐рдирдХреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ / usr / рд╕реНрдерд╛рдиреАрдп / рдПрд╕рдПрд╕рдПрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, GOST рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд╣рдо GOST R 34.10-2012, GOST R 34.11-2012 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ), рдЖрдкрдХреЛ gs.so рдЗрдВрдЬрди рдХрдиреЗрдХреНрд╢рди рдХреЛ opensl.cnf рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

. . # OpenSSL default section [openssl_def] engines = engine_section # Engine scetion [engine_section] gost = gost_section # Engine gost section [gost_section] engine_id = gost dynamic_path = /usr/local/ssl/lib/engines-1.1/gost.so default_algorithms = ALL CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet . . . 

рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдЕрддрд┐рдерд┐ рдЗрдВрдЬрди рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 bash-4.3$ /usr/local/ssl/bin/openssl ciphers . . . GOST2012-GOST8912-GOST8912:GOST2001-GOST89-GOST89 . . . bash-4.3$ 

рд╕рдорд░реНрдерд┐рдд GOST- рдЖрдзрд╛рд░рд┐рдд рд╣реИрд╢ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

 bash-4.3$ /usr/local/ssl/bin/openssl list тАУdigest-algorithms| grep md_gost md_gost12_256 md_gost12_512 md_gost94 bash-4.3$ 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрдВрдЬрди рд╕реЗ рдЬреБрдбрд╝реЗ рдХреЗ рд╕рд╛рде рдЦреБрд▓рдиреЗ рдХреЗ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд░реВрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред

рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╕реАрдП рдореЗрдВ рдЦреБрд▓рддрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдЙрдкрдХрд░рдг-> рд╕реЗрдЯрд┐рдВрдЧреНрд╕-> рд╕рд┐рд╕реНрдЯрдо) рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЖрдк рдЕрдиреБрд░реЛрдзреЛрдВ рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдбреАрдПрди (рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдирд╛рдо) (рдЯреАрдЖрдИрдПрди, рдкреАрдПрд╕рдЖрд░рдПрди, рдПрд╕рдПрдирдЖрдИрдПрд▓рдПрд╕) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЬрд╛рд░реАрдХрд░реНрддрд╛рд╕рд╛рдЗрдирдЯреВрд▓, рд╕рдмреНрдЬреЗрдХреНрдЯреНрд╕рдЯреВрд▓ рдФрд░ рдЕрдиреНрдп, рдЦреБрд▓рдиреЗ рд╕реЗ рдЗрдВрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди SKEPEP (рдпреЛрдЧреНрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреБрдВрдЬреА рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░) рдХрд╛ рдПрдХ рдЕрднрд┐рдиреНрди рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ 27 рджрд┐рд╕рдВрдмрд░, 2011 рдПрди 795 рдХреА рд╕рдВрдШреАрдп рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрд╡рд╛ рдХреЗ рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдореЛрджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЦреБрд▓рддрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ isserSignTool, objectSignTools, рдФрд░ SKEPEP рдХреЗ рд▓рд┐рдП TK-26 рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдЕрдиреНрдп:
...
рддреНрд░реБрдЯрд┐ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЕрдиреБрд░реЛрдз рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЦрдВрдб v3_req
139974322407168: рддреНрд░реБрдЯрд┐: 22097081: X509 V3 рджрд┐рдирдЪрд░реНрдпрд╛: do_ext_nconf: рдЕрдЬреНрдЮрд╛рдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди: crypto / x509v3 / v3_conf.c: 82:
139974322407168: рддреНрд░реБрдЯрд┐: 22098080: X509 V3 рджрд┐рдирдЪрд░реНрдпрд╛: X509V3_EXT_nconf: рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рддреНрд░реБрдЯрд┐: crypto / x509v3 / v3_conf.c: 47: name = subjectSignTool, value = рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдирд╛рдо рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдгрд╛рд▓реА
...
рддреНрд░реБрдЯрд┐ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЕрдиреБрд░реЛрдз рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЦрдВрдб v3_req
140154981721856: рддреНрд░реБрдЯрд┐: 22097081: X509 V3 рджрд┐рдирдЪрд░реНрдпрд╛: do_ext_nconf: рдЕрдЬреНрдЮрд╛рдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди: crypto / x509v3 / v3_conf.c: 82:
140154981721856: рддреНрд░реБрдЯрд┐: 22098080: X509 V3 рджрд┐рдирдЪрд░реНрдпрд╛: X509V3_EXT_nconf: рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рддреНрд░реБрдЯрд┐: crypto / x509v3 / v3_conf.c: 47: name = subjectSignTool, рдореВрд▓реНрдп = рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдирд╛рдо
...
рддреНрд░реБрдЯрд┐ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ рд╡рд┐рд╕реНрддрд╛рд░ рдЕрдиреБрднрд╛рдЧ cert_ext
140320065406720: рддреНрд░реБрдЯрд┐: 0D06407A: asn1 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдЯреАрди: a2d_ASN1_OBJECT: рдкрд╣рд▓реА рд╕рдВрдЦреНрдпрд╛ рдмрд╣реБрдд рдмрдбрд╝реА: рдХреНрд░рд┐рдкреНрдЯреЛ / asn1 / a_object.c: 61:
140320065406720: рддреНрд░реБрдЯрд┐: 2208206E: X509 V3 рджрд┐рдирдЪрд░реНрдпрд╛: r2i_certpol: рдЕрдорд╛рдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛: crypto / x509v3 / v3_cpols.c: 135: рдЕрдиреБрднрд╛рдЧ:ред рдирд╛рдо: KC1ClassSignTool, рдореВрд▓реНрдп:
140320065406720: рддреНрд░реБрдЯрд┐: 22098080: X509 V3 рджрд┐рдирдЪрд░реНрдпрд╛: X509V3_EXT_nconf: рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рддреНрд░реБрдЯрд┐: crypto / x509v3 / v3_conf.c: 47: рдирд╛рдо = рдкреНрд░рдорд╛рдгрдкрддреНрд░рдкреЙрд▓рд┐рдЯрд░реА, рдорд╛рди = KC1ClassSignTool, KC2ClassSign
..
рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, CAFL63 рд╕реАрдП рдиреЗ рднреА рдУрдкрдирдПрд╕рдПрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдмрдирд╛рдиреЗ рдФрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдиреЗ CLEP рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреА рдХрдбрд╝рд╛рдИ рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдХреА:



рдЙрд╕реА рд╕рдордп, рдХрднреА-рдХрднреА рдпреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдирд┐рд░рд░реНрдердХ рд╣реЛрддреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реИрдХреНрд╖рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдВрддрд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рдмрдВрдзрди (рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди) рдХреЗ рд▓рд┐рдП, рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕рд┐рд╕реНрдЯрдо (рд╕рд╛рдЗрдЯреЗрдВ, рдкреЛрд░реНрдЯрд▓ рдЖрджрд┐) рдХреЗ рд▓рд┐рдП https рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП, рддрдерд╛рдХрдерд┐рдд, рдПрд╕рдПрд╕рдПрд▓- рдкреНрд░рдорд╛рдг рдкрддреНрд░)ред
рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, CAFL63 рдХрд╛ рдПрдХ рд╕рдВрд╢реЛрдзрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдм рдпрд╣ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлреАрд▓реНрдбреНрд╕ (рдЯреВрд▓реНрд╕-> рд╕реЗрдЯрд┐рдВрдЧреНрд╕-> рд╕рд┐рд╕реНрдЯрдо) рдХреЛ рди рднрд░реЗрдВ:



CAFL63 рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЖрдкрдХреЛ рддреГрддреАрдп-рдкрдХреНрд╖ рдЕрдиреБрд░реЛрдз (рдкреНрд░рдорд╛рдг рдкрддреНрд░-> рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдпрд╛ "рдкреНрд░рдорд╛рдг рдкрддреНрд░" рдЯреИрдм рдкрд░ "рдмрд╛рд╣рд░реА X509" рдмрдЯрди рджреЗрдЦреЗрдВ) рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕реА рджреЛрд╖ рдХреЗ рд╕рд╛рде:



рдпрд╣ рд╕рдВрд╢реЛрдзрди рдЖрдЬ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ, рдЖрджрд┐ рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП CAFF63 рд╕реАрдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╡рд╣ рд╕рдм рдореИрдВ рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

Source: https://habr.com/ru/post/hi415423/


All Articles