рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рджрд░реНрддрд╛ рд░ рдЕрдзрд┐рдХрд╛рд░ рджрд┐рди рд░реБрдЯреЛрдХреЗрди рдкреНрд░рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЕрдиреБрднрд╡ (рднрд╛рдЧ реи)

рджрд┐рди рд░рд╛рдореНрд░реЛ!

рдЕрдШрд┐рд▓реНрд▓реЛ рднрд╛рдЧрдорд╛ рд╣рд╛рдореАрд▓реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣рд╛рдореНрд░реЛ рдЖрдлреНрдиреИ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗрдиреНрджреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрдХрд╛ рдЫреМрдВред рдпреЛ рд╣рд╛рдореНрд░реЛ рдЙрджреНрджреЗрд╢реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╕рд░реА рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫ?

рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рд╣рд╛рдореА рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдЬрд╛рд░реА рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рд░ рдпреА рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВрдорд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд╣рд░реВ рдкрдирд┐ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓рд╛рдИ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬрд╛рд░реА рдЧрд░реНрджрд╛, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдгрд▓реЗ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдиреБрд░реЛрдз Pkcs#10 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрд╕рдорд╛ '.csr' рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛ рдЫред рдпреЛ рдЕрдиреБрд░реЛрдзрдорд╛ рдПрдХ рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдЕрдиреБрдХреНрд░рдо рд╕рдорд╛рд╡реЗрд╢ рдЫ рдЬреБрди рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдгрд▓рд╛рдИ рдХрд╕рд░реА рд╕рд╣реА рд░реВрдкрдорд╛ рдкрд╛рд░реНрд╕ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдерд╛рд╣рд╛ рдЫред рдЕрдиреБрд░реЛрдзрдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдбреЗрдЯрд╛ (рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдбреЗрдЯрд╛рдХреЛ рд╕рд╛рде рдПрдХ рд╕рд╣рдпреЛрдЧреА рдПрд░реЗ) рджреБрд╡реИ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред

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

рддреНрдпрд╕реИрд▓реЗ рдкрд╣рд┐рд▓реЗ рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рдЙрдиреБ рдкрд░реНрдЫред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ:

openssl ca -batch -in user.csr -out user.crt

ca рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдЖрджреЗрд╢ рд╣реЛ рдЬреБрди рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдгрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫ,
-рдмреНрдпрд╛рдЪ - рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдЧрд░реНрджрд╛ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд░рджреНрдж рдЧрд░реНрджрдЫред
user.csr тАФ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрдиреБрд░реЛрдз (.csr рдврд╛рдБрдЪрд╛рдорд╛ рдлрд╛рдЗрд▓)ред
user.crt - рдкреНрд░рдорд╛рдгрдкрддреНрд░ (рдЖрджреЗрд╢рдХреЛ рдирддрд┐рдЬрд╛)ред

рдпрд╕ рдЖрджреЗрд╢рд▓реЗ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдгрд▓рд╛рдИ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдмрдореЛрдЬрд┐рдо рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдиреБрдкрд░реНрдЫ рд▓реЗрдЦрдХреЛ рдЕрдШрд┐рд▓реНрд▓реЛ рднрд╛рдЧрдорд╛ред рдЕрдиреНрдпрдерд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдгрдХреЛ рдореВрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░рдХреЛ рд╕реНрдерд╛рди рдердк рд░реВрдкрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫред

рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЖрджреЗрд╢:

openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/тАжтАж/demoCA/ca.crt -out data.file

cms рдПрдЙрдЯрд╛ openSSL рдЖрджреЗрд╢ рд╣реЛ рдЬреБрди рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдбреЗрдЯрд╛ рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯ рдЧрд░реНрди рд░ openSSL рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдиреНрдп рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдХрд╛рд░реНрдпрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

-verify - рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдЫреМрдВред

authenticate.cms - рдЕрдШрд┐рд▓реНрд▓реЛ рдЖрджреЗрд╢рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╕рдБрдЧ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛ рд╕рдорд╛рд╡реЗрд╢ рднрдПрдХреЛ рдлрд╛рдЗрд▓ред

-inform PEM - PEM рдврд╛рдБрдЪрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

-CAfile /Users/тАжтАж/demoCA/ca.crt - рд░реВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рд░реНрдЧред (рдпрд╕ рдмрд┐рдирд╛ рдЖрджреЗрд╢рд▓реЗ рдореЗрд░реЛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░реЗрди, рдпрджреНрдпрдкрд┐ ca.crt рдХреЛ рдорд╛рд░реНрдЧрд╣рд░реВ openssl.cfg рдлрд╛рдЗрд▓рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдерд┐рдпреЛ)

-out data.file тАФ рдо рдбрд┐рдХреНрд░рд┐рдкреНрдЯреЗрдб рдбрд╛рдЯрд╛ рдлрд╛рдЗрд▓ data.file рдорд╛ рдкрдард╛рдЙрдБрдЫреБред

рдмреНрдпрд╛рдХрдПрдиреНрдб рд╕рд╛рдЗрдбрдорд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЫ:

  • рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рджрд░реНрддрд╛:
    1. рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ user.csr рдлрд╛рдЗрд▓рдорд╛ рдмрдЪрдд рдЧрд░реНрди рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫреМрдВред
    2. рд╣рд╛рдореА рдпрд╕ рд▓реЗрдЦрдХреЛ рдкрд╣рд┐рд▓реЛ рдЖрджреЗрд╢рд▓рд╛рдИ рдПрдХреНрд╕рдЯреЗрдиреНрд╕рди .bat рд╡рд╛ .cmd рднрдПрдХреЛ рдлрд╛рдЗрд▓рдорд╛ рдмрдЪрдд рдЧрд░реНрдЫреМрдВред рд╣рд╛рдореАрд▓реЗ рдпреЛ рдлрд╛рдЗрд▓ рдХреЛрдбрдмрд╛рдЯ рдЪрд▓рд╛рдЙрдБрдЫреМрдВ, рдкрд╣рд┐рд▓реЗ user.csr рдлрд╛рдЗрд▓рдорд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдЕрдиреБрд░реЛрдз рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░рд┐рд╕рдХреЗрдХрд╛ рдЫреМрдВред рд╣рд╛рдореАрд▓реЗ user.crt рдкреНрд░рдорд╛рдгрдкрддреНрд░рдХреЛ рд╕рд╛рде рдлрд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫреМрдВред
    3. рд╣рд╛рдореА user.crt рдлрд╛рдЗрд▓ рдкрдвреНрдЫреМрдВ рд░ рдЧреНрд░рд╛рд╣рдХрд▓рд╛рдИ рдкрдард╛рдЙрдБрдЫреМрдВред

  • рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг:
    1. рд╣рд╛рдореА рдЧреНрд░рд╛рд╣рдХрдмрд╛рдЯ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдбрд╛рдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫреМрдВ рд░ рдпрд╕рд▓рд╛рдИ authenticate.cms рдлрд╛рдЗрд▓рдорд╛ рдмрдЪрдд рдЧрд░реНрдЫреМрдВред
    2. рдпрд╕ рд▓реЗрдЦрдХреЛ рджреЛрд╕реНрд░реЛ рдЖрджреЗрд╢рд▓рд╛рдИ рдПрдХреНрд╕рдЯреЗрдиреНрд╕рди .bat рд╡рд╛ .cmd рднрдПрдХреЛ рдлрд╛рдЗрд▓рдорд╛ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╣рд╛рдореАрд▓реЗ рдпреЛ рдлрд╛рдЗрд▓ рдХреЛрдбрдмрд╛рдЯ рдЪрд▓рд╛рдЙрдБрдЫреМрдВ, рдкрд╣рд┐рд▓реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛ рд╕рд░реНрднрд░рдмрд╛рдЯ authenticate.cms рдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░рд┐рд╕рдХреЗрдХрд╛ рдЫреМрдВред рд╣рд╛рдореАрд▓реЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯреЗрдб рдбрд╛рдЯрд╛ data.file рднрдПрдХреЛ рдлрд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫреМрдБред
    3. рд╣рд╛рдореА data.file рдкрдвреНрдЫреМрдВ рд░ рд╡реИрдзрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдбрд╛рдЯрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреМрдВред рд╡рд╛рд╕реНрддрд╡рдорд╛ рдХреЗ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ рдкрд╣рд┐рд▓реЛ рд▓реЗрдЦрдорд╛ред рдпрджрд┐ рдбрд╛рдЯрд╛ рдорд╛рдиреНрдп рдЫ рднрдиреЗ, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рдлрд▓ рдорд╛рдирд┐рдиреНрдЫред

рдпреА рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди, рддрдкрд╛рдЗрдБ рдХреБрдиреИ рдкрдирд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЬреБрди рдмреНрдпрд╛рдХрдЗрдиреНрдб рд▓реЗрдЦреНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рдЕрд░реНрдХреЛ рд▓реЗрдЦрдорд╛ рд╣рд╛рдореА рдХрд╕рд░реА рд░рд┐рдЯреЛрдХрди рдкреНрд▓рдЧрдЗрдирд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рднрдиреЗрд░ рд╣реЗрд░реНрдиреЗрдЫреМрдВред

рддрдкрд╛рдИрдВрдХреЛ рдзреНрдпрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрдмрд╛рдж!

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди