рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдЕрд╡рд╕рдВрд░рдЪрдирд╛ (рдЬрд╛рд░реА): OpenSSL рдФрд░ SQLite3 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг

рдЫрд╡рд┐ рдпрджрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ (рдкреАрдХреЗрдЖрдИ) рдХреА рдореБрдЦреНрдп рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ X509 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣реИ, рддреЛ рдкреАрдХреЗрдЖрдИ рдХрд╛ рдХреЗрдВрджреНрд░реАрдп рд╡рд┐рд╖рдп рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдг (рд╕реАрдП) рд╣реИрдВред рдпрд╣ CA рд╣реИ рдЬреЛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ, рдЙрдирдХреА рд╡реИрдзрддрд╛ (рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд┐рд░рд╕реНрддреАрдХрд░рдг) рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЙрдирдХреА рд╡реИрдзрддрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред рд╣рдмрд░рд╛рдмреНрд░ рдХреЗ рдкрдиреНрдиреЛрдВ рдкрд░ , рдЖрдк рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд╢рди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореВрд▓ рд░реВрдк рд╕реЗ, рдпреЗ рд▓реЗрдЦ рдУрдкрдирд╕реЗрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдм рдХреБрдЫ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ: рдХреБрдВрдЬреА, рдЕрдиреБрд░реЛрдз, рдкреНрд░рдорд╛рдг рдкрддреНрд░, рд░реВрдЯ рд╕рд╣рд┐рдд, рдЖрджрд┐ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреВрд░реНрдг-рд╕реНрддрд░реАрдп рдкреНрд░рдорд╛рдгрди рдХреЗрдВрджреНрд░ (рд╕реАрдП) рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ, рд╕рд╛рде рд╣реА рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЖрдк 6 рдЕрдкреНрд░реИрд▓, 2011 рдХреЗ рд╕рдВрдШреАрдп рдХрд╛рдиреВрди рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред рдирдВрдмрд░ 63-Sign рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкрд░, рдЗрд╕ рдХрд╛рдиреВрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╕реАрдП рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╕рд╛рде рд╣реА рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рддреНрдпрд╛рдкрди рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдЕрд░реНрд╣рддрд╛рдкреНрд░рд╛рдкреНрдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ, рд░реВрд╕ рдХреЗ рд╕рдВрдШреАрдп рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрд╡рд╛ рдХреЗ рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдореЛрджрд┐рдд 27 рджрд┐рд╕рдВрдмрд░, 2011 рдирдВрдмрд░ 795ред

рд╕рд╛рдзрд╛рд░рдг рдирд╛рдЧрд░рд┐рдХреЛрдВ рдХреА рдзрд╛рд░рдгрд╛ рд╣реИ рдХрд┐ рд╕рдВрдШ рд░рд╛рдЬреНрдп рдХреНрд╖реЗрддреНрд░ рдХреБрдЫ рдмрдбрд╝рд╛ рд╣реИ (рдареАрдХ рд╣реИ, рдХреЗрдВрджреНрд░, рд▓рдЧрднрдЧ рдорд┐рд╢рди рдирд┐рдпрдВрддреНрд░рдг рдХреЗрдВрджреНрд░ рдХреА рддрд░рд╣)ред

рдЫрд╡рд┐ рд╕реАрдП рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рд╕реАрдП рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЖрдЬ рдкрд╛рд╕рдкреЛрд░реНрдЯ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд░рд╛рдмрд░ рд╣реИрдВред

рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП CAFL63 рдкреНрд░рдорд╛рдгрди рдХреЗрдВрджреНрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЬрдиреНрдо рд╣реБрдЖред CAFL63 рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддреАрди "рд╕реНрддрдВрднреЛрдВ" рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ OpenSSL, SQLite3 рдФрд░ Tcl / Tk ред

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

рдирд╛рдЧрд░рд┐рдХреЛрдВ, рд╕рдВрдЧрдардиреЛрдВ рдХреЛ рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдХрд░ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рд╕реЗрд╡рд╛ рдкреЛрд░реНрдЯрд▓ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП, рдмреЛрд▓реА рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП), рд▓реЗрдХрд┐рди рд╡реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрд╢реНрд╡рд╕реНрдд рд╣реИрдВ рдХрд┐ CA рдХреЛ рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпреЗ рдЖрддреНрдордЬреНрдЮрд╛рди рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЖрд╡реЗрджрдХ рдХреЗрдВрджреНрд░реАрдп рдкреНрд░рд╢рд╛рд╕рди рдХреЗ рдХреЗрдВрджреНрд░реАрдп рдкреНрд░рд╢рд╛рд╕рди рдХреЗ рдкрд╛рд╕ рдЖрддреЗ рд╣реИрдВ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВред рдХреЗрдВрджреНрд░реАрдп рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЗ рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рд╕рд╛рде, рд╡реЗ рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╕реНрдерд▓ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдиреБрд░реЛрдз рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ :



рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдореАрдбрд┐рдпрд╛ рдкрд░ рдПрдХ рддреИрдпрд╛рд░ рдЕрдиреБрд░реЛрдз, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реАрдЖрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрд╡реЗрджрдХ рдХреЛ рдХреНрдпрд╛ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг, рдореАрдбрд┐рдпрд╛ рдХреЛ рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдЪреБрдиреЗрдВ!
рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдореАрдбрд┐рдпрд╛ рдкрд░ рдПрдХ рдЕрдиреБрдореЛрджрд┐рдд рдЕрдиреБрд░реЛрдз рд╕реАрдП рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рдЬрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреВрд░реЗ рдЬреЛрд░реЛрдВ рдкрд░ рдереА, рддреЛ рд╕рд┐рдВрдкрд▓рд╕реАрдПрдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдореЗрд░реА рдЖрдВрдЦ рдкрдХрдбрд╝ рд▓реА ред рд╕реАрдПрдПрдлрдПрд▓ 63 рд╕реАрдП рдХреЗ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓реАред

рд▓рд┐рдирдХреНрд╕ рдФрд░ рдПрдордПрд╕ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рддрд░рдг рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рддреЛ, CAFL63 рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЪрд▓рд╛рдПрдВ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рд╛рд░рдВрдн рдкреГрд╖реНрда рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:



рд╣рдо "рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдБ" рдХреБрдВрдЬреА рджрдмрд╛рдХрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред CA рдбреЗрдЯрд╛рдмреЗрд╕ SQLite3 рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо DBMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред CA рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрдИ рдЯреЗрдмрд▓ рд╣реИрдВред рдореБрдЦреНрдп рдЯреЗрдмрд▓ рдореЗрдирдбреАрдмреА рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд░реВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░, рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдирд┐рдЬреА рдХреБрдВрдЬреА рдФрд░ рд╕реАрдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рджреЛ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рд╣реИрдВ: рд╡рд░реНрддрдорд╛рди reqDB рдЕрдиреБрд░реЛрдз рдФрд░ reqDBArc рдЕрдиреБрд░реЛрдз рд╕рдВрдЧреНрд░рд╣ред рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рддреАрди рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ: рдирдП рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдбреАрдмреАрдПрдирд╡рд╛рдИ, рд╕рд░реНрдЯрд┐рдлрд╝рд┐рдХреЗрдЯреНрд╕ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреА рддрд╛рд▓рд┐рдХрд╛ рд╕рд░реНрдЯрд┐рдлрд╝рд┐рдХреЗрдЯ рдФрд░ рдирд┐рд░рд╕реНрдд рдкреНрд░рдорд╛рдг-рдкрддреНрд░реЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛

. . . certdb eval {create table certDB( ckaID text primary key , nick text, sernum text, certPEM text, subject text, notAfter text, notBefore text, dateRevoke text, state text )} certdb eval {create table certDBRev( ckaID text primary key )} certdb eval {create table certDBNew( ckaID text primary key )} certdb eval {create table reqDB (ckaID text primary key, nick text, sernum text, subject text, type text, datereq text, status text, reqpem text, pkcs7 text)} certdb eval {create table reqDBAr (ckaID text primary key, nick text, sernum text, subject text, type text, datereq text, status text, reqpem text, pkcs7 text)} certdb eval {create table crlDB(ID integer primary key autoincrement, signtype text, issuer text, publishdate text, nextdate text, crlpem text)} . . . 

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

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдорд╛рди рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЙрдирд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдирд┐рдХрд╛рд▓рдирд╛ рдФрд░ CKAID рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЗ рдореВрд▓реНрдп рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрдХреНрдХреА рдкреИрдХреЗрдЬ (рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдХреНрдХреА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкреИрдХреЗрдЬ рд░реВрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдкрдХреНрдХреА рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ parse_cert рдФрд░ parse_csr рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, parce_cert_gost рдФрд░ parse_csr_gost рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦреЗрдВ:

 ... ## Convert Pubkey type to string set pubkey_type [::pki::_oid_number_to_name $pubkey_type] # Parse public key, based on type switch -- $pubkey_type { "rsaEncryption" { set pubkey [binary format B* $pubkey] binary scan $pubkey H* ret(pubkey) ::asn::asnGetSequence pubkey pubkey_parts ::asn::asnGetBigInteger pubkey_parts ret(n) ::asn::asnGetBigInteger pubkey_parts ret(e) set ret(n) [::math::bignum::tostr $ret(n)] set ret(e) [::math::bignum::tostr $ret(e)] set ret(l) [expr {int([::pki::_bits $ret(n)] / 8.0000 + 0.5) * 8}] set ret(type) rsa } "1.2.643.2.2.19" - "1.2.643.7.1.1.1.1" - "1.2.643.7.1.1.1.2" { # gost2001, gost2012-256,gost2012-512 set pubkey [binary format B* $pubkey] binary scan $pubkey H* ret(pubkey) set ret(type) $pubkey_type ::asn::asnGetSequence pubkey_algoid pubalgost #OID -  ::asn::asnGetObjectIdentifier pubalgost oid1 #OID -   ::asn::asnGetObjectIdentifier pubalgost oid2 } default { error "Unknown algorithm" } } ... 

"рджреЗрд╢реА" рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡реЗ рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдкреАрдИрдПрдо рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдбреАрдИрдЖрд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рднреАред CRL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд┐рд░рд╕реНрддреАрдХрд░рдг рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, parse_crl рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рд┐рдЦреА рдЧрдИ рдереАред рдЗрди рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд┐рддрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкрдХреНрдХреА рдкреИрдХреЗрдЬ рдореЗрдВ рдХреЛрдИ рд░реВрд╕реА рдУрдб-рдПрд╕ рдирд╣реАрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд┐рди, рдПрд╕рдПрдирдЖрдИрдПрд▓рдПрд╕, рдЖрджрд┐ред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрд╕реА oid-s рдЬреЛрдбрд╝рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ :: pki :: oids:

 . . . set ::pki::oids(1.2.643.100.1) "OGRN" set ::pki::oids(1.2.643.100.5) "OGRNIP" set ::pki::oids(1.2.643.3.131.1.1) "INN" set ::pki::oids(1.2.643.100.3) "SNILS" #  set ::pki::oids(1.2.643.2.2.3) "  34.10-2001" set ::pki::oids(1.2.643.7.1.1.3.2) "  34.10-2012-256" set ::pki::oids(1.2.643.7.1.1.3.3) "  34.10-2012-512" . . . 

рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рдж parse_cert_gost рдФрд░ parse_csr_gost, CKAID рдХреЗ рдореВрд▓реНрдпреЛрдВ (рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА) рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ:

 . . . array set b [parse_csr_gost $req] set pem $b(pem) set subject $b(subject) set pubkey $b(pubkey) set key1 [binary format H* $pubkey] set ckaID [::sha1::sha1 $key1] . . . 

рддреЛ, "рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдБ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:



рд╕реАрдП рдирд┐рд░реНрдорд╛рдг рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдкрд╕рдВрдж рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд╕реАрдП рдирд┐рдЬреА рдХреБрдВрдЬреА рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗред CAFL63 рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рд▓рдВрдмрд╛рдИ рдХреА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИ:



рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ CA рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реИрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 . . . set hash256 [::sha2::sha256 $wizData(capassword)] . . . 

"рдЯреНрд░реЗрд╕" рдХреБрдВрдЬреА рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рддреИрдирд╛рдд рд╕реАрдП рдХрд╛ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд░реВрдЯ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рдХреБрдВрдЬреА рдЬреЛрдбрд╝реА рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:



рдирд┐рд░реНрдорд┐рдд рдкреНрд░рдорд╛рдгрди рдХреЗрдВрджреНрд░ рдХреЗ рдореВрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЬреЛрдбрд╝реА рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕реНрд╡рд╛рдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдлрд╝реЙрд░реНрдо рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ (рдкрд╣рд▓рд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЧрд╛рдпрдм рд╣реИ)ред

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



рд╕реАрдП рдХреЗ рдорд╛рд▓рд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЦреЗрддреЛрдВ рдореЗрдВ рднрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реАрдП рдХреА рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрд╛рдПрдЧреА:



рдпрджрд┐ рдЖрдк рд░реВрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░реВрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдкрдпреБрдХреНрдд рд╕рдВрд╕реНрдХрд░рдг, рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдПрдХ рд╕рдВрд╢реЛрдзрди рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╡рд┐рддрд░рдг рдореЗрдВ README.txt рдкрдврд╝реЗрдВред рдЪреВрдВрдХрд┐ рдпрд╣ рдпреЛрдЧреНрдп рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрд╡рдпрдВ рд╕реАрдП рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдХ рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдгрд╛рд▓реА ("27 рджрд┐рд╕рдВрдмрд░ 2011 рдХреА рд╕рдВрдЦреНрдпрд╛ 795 рд░реВрд╕ рдХреА рд╕рдВрдШреАрдп рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрд╡рд╛ рдХреЗ рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдореЛрджрд┐рдд" рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рддреНрдпрд╛рдкрди рдХреБрдВрдЬреА рдХреЗ рдпреЛрдЧреНрдп рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рджреЗрдЦреЗрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рднрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдЙрдирдХреА рд╕рдЯреАрдХрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдФрд░ "рд╕рдорд╛рдкреНрдд" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрд╛рдПрдЧреА:



"рд╕рдорд╛рдкреНрдд" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реАрдП рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕реАрдП рд░реВрдЯ рдкреНрд░рдорд╛рдг рдкрддреНрд░, рдирд┐рдЬреА рдХреБрдВрдЬреА, рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рд╣реЗрдЬреА рдЬрд╛рдПрдВрдЧреА, рдФрд░ рд╕реАрдПрдПрдлрдПрд▓ 63 рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рд╛рд░рдВрдн рдкреГрд╖реНрда рдлрд┐рд░ рд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдЕрдм рдЬрдм рд╣рдордиреЗ рдирдП рдмрдирд╛рдП рдЧрдП CA рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдпрд╛ рд╣реИ, рддреЛ рд╣рдо "Open DB" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдЪреБрдирддреЗ рд╣реИрдВ, CA рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрд╢реАрд▓ рд╡рд┐рдВрдбреЛ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ "CA рджреЗрдЦреЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╣рдордиреЗ рдЬреЛ рд░реВрдЯ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдмрдирд╛рдпрд╛ рд╣реИред :



рдЕрдЧрд▓рд╛ рдХрджрдо рдХрд╛рдиреВрдиреА рд╕рдВрд╕реНрдерд╛рдУрдВ, рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрджреНрдпрдорд┐рдпреЛрдВ ( рдЯреВрд▓-> рд╕реЗрдЯрд┐рдВрдЧреНрд╕-> рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдХрд╛рд░-> рдирдпрд╛ ) рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ / рдкреНрд░реЛрдлрд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реИ:



рдирдИ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:



рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдирд╛рдо рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ (рдЖрд╡рд╢реНрдпрдХ) рдпрд╛ рдирд╣реАрдВ рдлрд╝реАрд▓реНрдб / oids рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд░рдЪрдирд╛ рд╣реИред рдХрд╛рдиреВрдиреА рд╕рдВрд╕реНрдерд╛рдУрдВ, рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрджреНрдпрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рд╕рдВрдШреАрдп рдХрд╛рдиреВрди -63 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ "рд░реВрд╕ рдХреЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рддреНрдпрд╛рдкрди рдХреБрдВрдЬреА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдпреЛрдЧреНрдп рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИред

рдкреНрд░реЛрдлрд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, CA рдЖрд╡реЗрджрдХреЛрдВ рдФрд░ рдЙрдирд╕реЗ рдЖрд╡реЗрджрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрд╡реЗрджрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛ рдЖ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрд╡реЗрджрдХ рдПрдХ рддреИрдпрд╛рд░ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рд╣реИ, рддреЛ рдЕрдкрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрд╡реЗрджрди рдХреЛ рд╕реАрдП рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╡рд┐рдВрдбреЛ рдкрд░ "рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз" рдЯреИрдм рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, "рдЖрдпрд╛рдд рдЕрдиреБрд░реЛрдз / рд╕реАрдПрд╕рдЖрд░" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:



рдЕрдиреБрд░реЛрдз рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдпрд╣ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рднрд░рд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЖрдпрд╛рдд" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреБрд░рдВрдд, рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм рдЖрдк CA рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:



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



рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдпрд╛ рдЕрдиреБрдореЛрджрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:



рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди reqDB рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ reqDBArc рдЕрдиреБрд░реЛрдз рд╕рдВрдЧреНрд░рд╣ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддрджрдиреБрд╕рд╛рд░, "рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдиреБрд░реЛрдз" рдЯреИрдм рдкрд░ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ "рдЕрдиреБрд░реЛрдз рдкреБрд░рд╛рд▓реЗрдЦ" рдЯреИрдм рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

рд╕реНрд╡реАрдХреГрдд рдЖрд╡реЗрджрди reqDB рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬрд╛рд░реА рд╣реЛрдиреЗ рддрдХ "рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдиреБрд░реЛрдз" рдЯреИрдм рдкрд░ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдпрд╣ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рднреА рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрд╡реЗрджрдХ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХрд┐рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд╛рдЬреНрдп рд╕реЗрд╡рд╛ рдкреЛрд░реНрдЯрд▓ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП) рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ( рдЙрдкрдХрд░рдг-> рд╕реЗрдЯрд┐рдВрдЧреНрд╕-> рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдХрд╛рд░ -> рд╡реНрдпрдХреНрддрд┐рдЧрдд -> рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ -> рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ ):



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



рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдореЗрдиреВ рдЖрдЗрдЯрдо "рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд░реЗрдВ") рд░реВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рдиреЗ рдпрд╛ рдЖрд╡реЗрджрди рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ:



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

рдпрджрд┐ рдЖрдк "рдкреНрд░рдорд╛рдгрдкрддреНрд░" рдЯреИрдм рдореЗрдВ рдЪрдпрдирд┐рдд рд▓рд╛рдЗрди рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рдлрд╝рдВрдХреНрд╢рди рд╡рд╛рд▓рд╛ рдореЗрдиреВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:



рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдЕрдиреБрд░реЛрдз рджреЛрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдХрд┐рд╕реА рдЖрд╡реЗрджрдХ рдХреЗ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рднреА рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд┐рд░рд╕реНрддреАрдХрд░рдг рд╕рдорд╛рд░реЛрд╣ рд╣реИ! рдкреАрдХреЗрд╕реАрдПрд╕ # 12 рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реА рдПрдХ рд╡рд┐рджреЗрд╢реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрд╡реЗрджрдХ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдРрд╕реЗ рдЖрд╡реЗрджрдХреЛрдВ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрд░реЛрдз рдкреАрдврд╝реА рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ "рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдиреБрд░реЛрдз" рдЯреИрдм рдкрд░ "рдЕрдиреБрд░реЛрдз рдмрдирд╛рдПрдБ / рд╕реАрдПрд╕рдЖрд░" рдмрдЯрди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рддреЛ, рд╕реАрдП рдиреЗ рдЕрдкрдирд╛ рдЬреАрд╡рди рд╢реБрд░реВ рдХрд┐рдпрд╛, рдкрд╣рд▓рд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ред рд╕реАрдП рдХреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рддрдХ рдореБрдлреНрдд рдкрд╣реБрдВрдЪ рдХрд╛ рд╕рдВрдЧрдарди рд╣реИред рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдкреНрд░рдХрд╛рд╢рди рдЖрдорддреМрд░ рдкрд░ рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИред CAFL63 рдореЗрдВ рднреА рдпрд╣ рд╕реЗрд╡рд╛ рд╣реИ:



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



рд╕реАрдП рдХрд╛ рдореВрд▓ рдХрд╛рд░реНрдп рдирд┐рд░рд╕реНрдд рдкреНрд░рдорд╛рдг рдкрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдВрддрд░рд┐рдХ рдорд╛рдорд▓реЛрдВ рдХреЗ рдордВрддреНрд░рд╛рд▓рдп рдиреЗ рд╕рдорд╛рдкреНрдд рдкрд╛рд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИред рдорд╛рд▓рд┐рдХ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд░рджреНрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рдкрд╕ рдмреБрд▓рд╛рдиреЗ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдирд┐рдЬреА рдХреБрдВрдЬреА рдХрд╛ рдиреБрдХрд╕рд╛рди рдпрд╛ рдЙрд╕ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реИред

рдХрд┐рд╕реА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ "рдкреНрд░рдорд╛рдгрдкрддреНрд░" рдЯреИрдм рдкрд░ рдЪреБрдиреЗрдВ, рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдореЗрдиреВ рдЖрдЗрдЯрдо "рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд┐рд░рд╕реНрддреАрдХрд░рдг" рдЪреБрдиреЗрдВ:



рдЕрдиреБрд░реЛрдз рдпрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░рд╕реНрддреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдореЛрджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред рдирд┐рд░рд╕реНрдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ CA рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ cerDBRev рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ "рдирд┐рд░рд╕реНрдд рдкреНрд░рдорд╛рдг рдкрддреНрд░" рдЯреИрдм рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рд╕реАрдП рдХреЗ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ - рд╕реАрдЖрд░рдПрд▓ рдХреА рд░рд┐рд╣рд╛рдИ - рдирд┐рд░рд╕реНрдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рдПрдХ рд╕реВрдЪреАред рдЬрдм рдЖрдк "рдХреНрд░рд┐рдПрдЯ рдПрд╕рдУрдПрд╕ / рд╕реАрдЖрд░рдПрд▓" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реАрдЖрд░рдПрд▓ рд╕реВрдЪреА "рдирд┐рд░рд╕реНрдд рдкреНрд░рдорд╛рдг рдкрддреНрд░" рдЯреИрдм рдкрд░ рдмрдирддреА рд╣реИред рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА CA рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдирд╛ рдФрд░ CRL рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЗрд░рд╛рджреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛ рд╣реИ:



рдЬрд╛рд░реА CRL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ crlDB рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ CRL / SOS рдЯреИрдм рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ CRL рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, parse_crl рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:

 proc parse_crl {crl} { array set ret [list] if { [string range $crl 0 9 ] == "-----BEGIN" } { array set parsed_crl [::pki::_parse_pem $crl "-----BEGIN X509 CRL-----" "-----END X509 CRL-----"] set crl $parsed_crl(data) } ::asn::asnGetSequence crl crl_seq ::asn::asnGetSequence crl_seq crl_base ::asn::asnGetSequence crl_base crl_full ::asn::asnGetObjectIdentifier crl_full ret(signtype) #puts "KEY_TYPE=$ret(signtype)" ::::asn::asnGetSequence crl_base crl_issue set ret(issue) [::pki::x509::_dn_to_string $crl_issue] #puts "ISSUE=$ret(issue)" ::asn::asnGetUTCTime crl_base ret(publishDate) ::asn::asnGetUTCTime crl_base ret(nextDate) #puts "publishDate=$ret(publishDate)" return [array get ret] } 

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛ рдкрд░ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП CRL рджреЗрдЦрдиреЗ рдпрд╛ рдЙрд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╡рд╛рдВрдЫрд┐рдд рд▓рд╛рдЗрди рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╕рд╣реА рдорд╛рдЙрд╕ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдкрдпреБрдХреНрдд рдореЗрдиреВ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:



рдмрд╕, рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдг рддреИрдпрд╛рд░ рд╣реИред
рдЫрд╡рд┐ рд░реВрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рд╛рде рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдиреЗрдВ ред

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


All Articles