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

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЕрдкрдиреЗ рдирд╛рдЧрд░рд┐рдХ рдХрд░реНрддрд╡реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ
рд▓рд┐рдмрд░ рдСрдлрд┐рд╕ рдСрдлрд┐рд╕ рд╕реВрдЯ рдореЗрдВ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛? рд░рд╛рдЬреНрдп рд╕реЗрд╡рд╛ рдкреЛрд░реНрдЯрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд▓рд┐рдирдХреНрд╕ рдФрд░ рд░реЗрдбрдлреЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ рд░реВрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрд┐рдд рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓рд┐рдмрд░реЗрдСрдлрд┐рд╕ рдСрдлрд┐рд╕ рд╕реБрдЗрдЯ рднреА рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рджреБрдХрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдирдПрд╕рдПрд╕ рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
Redfox-52 рдмреНрд░рд╛рдЙрдЬрд╝рд░ / usr / рд╕реНрдерд╛рдиреАрдп / lib64 / рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ -52 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
GOST рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдирдПрд╕рдПрд╕ (рдиреЗрдЯрд╡рд░реНрдХ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрд╡рд╛) рдкреИрдХреЗрдЬ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, LD_LIBRARY_PATH рдЪрд░ рдХрд╛ рдорд╛рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ:
$export LD_LIBRARY_PATH=/usr/local/lib64/firefox-52:$LD_LIBRARY_PATH $
рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рджреБрдХрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ, libreoffice рдЖрдо рддреМрд░ рдкрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдердВрдбрд░рдмрд░реНрдб рдИрдореЗрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ, рдпрд╛ рдПрдХреАрдХреГрдд рд╕реАрдореЙрдиреНрдХреА рдкреИрдХреЗрдЬ рд╕реЗ рдПрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред GoogleChrome / Cromium рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпрд╛ рдЕрдкрдирд╛ рд╕реНрд╡рддрдВрддреНрд░ рд╕реНрдЯреЛрд░ рдмрдирд╛рдиреЗ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИ (рдЙрдкрдХрд░рдг-> рд╡рд┐рдХрд▓реНрдк-> рд╕реБрд░рдХреНрд╖рд╛-> рдкреНрд░рдорд╛рдгрдкрддреНрд░):

рднрдВрдбрд╛рд░рдг рдХрд╛ рдЪрдпрди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрдиреЗрдХреНрдЯ рд╣реЛрддреА рд╣реИрдВ, рдХрд╛рдореЗрдЪреНрдЫрд╛ рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдПрдХ рдУрдЯреНрдЯ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ (рдлрд╛рдЗрд▓-> рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░-> рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░)ред
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ / рдПрдирдПрд╕рдПрд╕ рднрдВрдбрд╛рд░ рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдФрд░ рдУрдХреЗ рдмрдЯрди рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ:

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ libreoffice рд░реВрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕рдордЭрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдПрдирдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ Redfox рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ GOST рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╕рдлрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рддреНрдпрд╛рдкрди рджреНрд╡рд╛рд░рд╛ рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛рддреА рд╣реИред
рд╣рдо рджреВрд╕рд░рд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ: рдЗрд╕ рдмрд╛рд░ рд╣рдо рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкреАрдбреАрдПрдл рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВред рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдлрд╛рдЗрд▓-> рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░-> рд╕рд╛рдЗрди рдкреАрдбреАрдПрдл)ред рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ (рдлрд╝рд╛рдЗрд▓-> рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░-> рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░) (рдКрдкрд░ рджреЗрдЦреЗрдВ, рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп):

рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмрдирддрд╛ рд╣реИ !!! рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░, GOST R 34.10-2012 512 рдмрд┐рдЯреНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рдорд╛рдг рдкрддреНрд░ "рдЯреЗрд╕реНрдЯ 12 512" рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирддрд╛ рд╣реИред рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рд╣реА рд╣реИред
рдХрд╛рдорд╡рд╛рд╕рдирд╛ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ред рдлрд┐рд░ рд╕реЗ рдХрд╛рдореЗрдЪреНрдЫрд╛ рдЪрд▓рд╛рдПрдВ, рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреАрдбреАрдПрдл-рдлрд╛рдЗрд▓ рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ, рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЬрд╛рдВрдЪреЗрдВред рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рд╣рд╕реНрддрд╛рдХреНрд╖рд░рдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рджреЗрдЦреЗрдВред рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдЪрдорддреНрдХрд╛рд░! рдкреАрдбреАрдПрдл рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рджреВрд╕рд░рд╛, рддреАрд╕рд░рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдпрд╛ ... рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рддрд╛ рд░рд╣рд╛ рд╣реИред рд╣рдо рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред
рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреАрдбреАрдПрдл-рдлрд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ (рдореИрдВрдиреЗ mc рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ - рдорд┐рдбрдирд╛рдЗрдЯ рдХрдорд╛рдВрдбрд░ - рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрдХ)ред рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЦреЛрдЬреЗрдВ (/ рдЯрд╛рдЗрдк / рд╕рд┐рдЧ /):

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рд╣рдо рдЗрд╕реЗ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрд╛рдЗрдирд░реА (DER рдПрдиреНрдХреЛрдбрд┐рдВрдЧ) рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо xxd рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
$xxd тАУp тАУr < PDF> > <>.der $
рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ DER- рдПрдиреНрдХреЛрдбреЗрдб PKCS # 7 рдкреНрд░рд╛рд░реВрдк рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╣реИред рдЕрдм рдЗрд╕ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рдХрд┐рд╕реА рднреА asn1-prase рдХреЗ рд╕рд╛рде рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдкрдирд╕реЗрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕рд╛рдеред рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рд╣рдо рдПрдирдПрд╕рдПрд╕ рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо рд╡реНрдпреБрддреНрдкрдиреНрди
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдпрд╛
рдкреАрдкреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
$pp тАУt p7 тАУu тАУi pkcs7_detach.p7 PKCS
рдФрд░ рдлрд┐рд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рдВ, рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдердо: GOST R 34.10-2012 рдХреБрдВрдЬреА 512 рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд▓рд┐рдП рдЪрдпрдирд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓реЗрдХрд┐рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░ SHA-256 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рдердо (1: SHA-256) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╣реИрд╢ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдмрд╛рдд рдЧрд▓рдд рд╣реИ: GOST R 34.10-2012 рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдХреЛ 512 рдХреЗ GOST R 34.11-2012-512 рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЪрд▓реЛ рд▓реЗрдмрд░рдСрдлрд╝рд┐рд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддреЗ рд╣реИрдВ: рд╢реИрддрд╛рди рдЗрддрдирд╛ рднрдпрд╛рдирдХ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ рдЗрд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдирдПрд╕рдПрд╕ рдкреИрдХреЗрдЬ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ MS Windows рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ CryptoAPI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдФрд░, рддрджрдиреБрд╕рд╛рд░, GOST-CSP), рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛, рдЗрд╕реА рд╕рдВрд╢реЛрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗрд╡рд▓ рджреЛ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
-
~ / libreoffice-5.3.7.2 / vcl / source / gdi / pdfwriter_impl.cxx-
~ / libreoffice-5.3.7.2 / xmlsecurity / source / pdfio / pdfdocument.cxxрдпреЗ рдкрд░рд┐рд╡рд░реНрддрди GOST рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╣реА рдЪрдпрди рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреБрдВрдЬреА рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PDFWriter :: рд╕рд╛рдЗрди (рдлрд╝рд╛рдЗрд▓ pdfwriter_impl.cxx) рдореЗрдВ рд╣реИрд╢ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЪреБрдирдирд╛, рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
bool PDFWriter::Sign(PDFSignContext& rContext) { #ifndef _WIN32 SECKEYPublicKey *pubk = NULL; SECOidTag hashAlgTag; HASH_HashType hashType; int hashLen; CERTCertificate *cert = CERT_DecodeCertFromPackage(reinterpret_cast<char *>(rContext.m_pDerEncoded), rContext.m_nDerEncoded); if (!cert) { SAL_WARN("vcl.pdfwriter", "CERT_DecodeCertFromPackage failed"); return false; } /* */ pubk = CERT_ExtractPublicKey(cert); if (pubk == NULL) return NULL; /* */ switch(pubk->keyType){ case gost3410Key: hashAlgTag = SEC_OID_GOSTHASH; hashType = HASH_AlgGOSTHASH; hashLen = SHA256_LENGTH; break; case gost3410Key_256: hashAlgTag = SEC_OID_GOST3411_2012_256; hashType = HASH_AlgGOSTHASH_12_256; hashLen = SHA256_LENGTH; break; case gost3410Key_512: hashAlgTag = SEC_OID_GOST3411_2012_512; hashLen = SHA256_LENGTH * 2; hashType = HASH_AlgGOSTHASH_12_512; break; default: hashAlgTag = SEC_OID_SHA256; hashType = HASH_AlgSHA256; hashLen = SHA256_LENGTH; break; } /* */ HashContextScope hc(HASH_Create(hashType)); . . . }
рддрд░реНрдХ рдореЗрдВ рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдЗрди рдХреЗ рд╕рдорд╛рди рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкреИрдЪ ~ / libreoffice-5.3.7.2 / vcl / source / gdi / pdfwriter_impl.cxx рд╕реНрдерд┐рдд рд╣реИ
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкреИрдЪ ~ / libreoffice-5.3.7.2 / xmlsecurity / source / pdfio / pdfdocument.cxx рд╕реНрдерд┐рдд рд╣реИ
рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо libreoffice рдкреИрдХреЗрдЬ рдмрдирд╛рддреЗ рд╣реИрдВред рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдиреЗ рддреАрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (/ usr / lib64 / libreoffice / program) рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛:
- libvcllo.so ;
- libxmlsecurity.so ;
- libxsec-xmlsec.so
рдЗрди рддреАрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдкрд░рд┐рд╡рд╛рдж рд╡рд┐рддрд░рдг (/ usr / lib64 / libreoffice / program) рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдкреАрдбреАрдПрдл-рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ GOST- рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдФрд░ рд╕рддреНрдпрд╛рдкрди рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдбрд╝рдЪрди рдХреЗ рдЪрд▓рд╛ рдЧрдпрд╛ред рдФрд░ рдпрд╣рд╛рдБ рд╕рд╛рдЗрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдЖрдВрдЦ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдВрд╢ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ:
рд╕рдВрдШреАрдп рдХрд░ рд╕реЗрд╡рд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рдХрд╛рдиреВрдиреА рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдлрд╛рдЗрдб рд╕реНрдЯреЗрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдСрдлрд╝ рд▓реАрдЧрд▓ рдПрдВрдЯрд┐рдЯреАрдЬрд╝ рд╕реЗ рдЕрд░реНрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╕реЗрд╡рд╛ рд╣реИ , рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ рдореБрдлреНрдд рд╣реИред рдпреЛрдЧреНрдп рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рджреНрд╡рд╛рд░рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЕрд░реНрдХ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯ рдХреЛ рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдмреИрдВрдХ, рд╕рд░рдХрд╛рд░реА рдПрдЬреЗрдВрд╕реА рдХреЛ рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдкреЗрдкрд░ рдлреЙрд░реНрдо рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдм рд╕рдм рдореЗрдВ, рдмрд╣реБрдд рдЖрд░рд╛рдорджрд╛рдпрдХред
рд╣рдо рдЖрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВ, рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИред
рдпрд╣ рд╕рдм рд╣реИ, рдЕрдм рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ (рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рд╕рдордиреНрд╡рдп рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдФрд░ рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ PKCS # 7 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рджреЛрдиреЛрдВ рдЬреБрдбрд╝реЗ рдФрд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ
GUINSSPY рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдПрдХ рдЕрджреНрдпрддрди рд╕рдВрд╕реНрдХрд░рдг (рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП)
рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ :

рд╡рд┐рдХрд╛рд╕ Python3 рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЕрдЧрд░ рд▓рд┐рдирдХреНрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереА, рддреЛ рдПрдордПрд╕ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдореБрдЭреЗ рдПрдирдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкрд╕реАрдирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдХрд╛рд╕ рдерд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрди рд╕рднреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк libreoffice рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕реНрдЯреЛрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рдФрд░ рдЕрдЧрд░ рдШрд░реЗрд▓реВ рд▓рд┐рдирдХреНрд╕ рдХрд╛рдВрдЯреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдиреЗ рд░реВрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреИрдХреЗрдЬреЛрдВ (рдПрдирдПрд╕рдПрд╕, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдердВрдбрд░рдмрд░реНрдб, GnuPG / SMIME, SSH, KMail, Kleopatra, LibreOffice, OpenSSL, рдЖрджрд┐) рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрдпрд╛рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛ред