рд╕рд╛рдзрд╛рд░рдг рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ рд╕реБрд░рдХреНрд╖рд┐рдд рдЫреИрдирдиреН, рд░ рдЬрдЯрд┐рд▓рд╣рд░реВ рд╕рдореНрдЭрди рдЕрд╕рдореНрднрд╡ рдЫрдиреНред рдпрд╕реИрд▓реЗ рддрд┐рдиреАрд╣рд░реВ рдкреНрд░рд╛рдп: рдХрд┐рдмреЛрд░реНрдб рд╡рд╛ рдордирд┐рдЯрд░рдорд╛ рдЯрд╛рдБрд╕рд┐рдПрдХреЛ рдиреЛрдЯрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫрдиреНред рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВ "рдмрд┐рд░реНрд╕рдиреЗ" рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рджрд┐рдорд╛рдЧрдорд╛ рд░рд╣рд┐рд░рд╣рдиреЗ рд░ рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╣рд░рд╛рдПрдХреЛ рдЫреИрди рднрдиреЗрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди, рддреНрдпрд╣рд╛рдБ рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг (2FA) рдЫред
рдпрдиреНрддреНрд░рдХреЛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд░ рдпрд╕рдХреЛ PIN рдерд╛рд╣рд╛ рдкрд╛рдЙрдиреБрдХреЛ рд╕рдВрдпреЛрдЬрдирдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, PIN рдЖрдлреИрдВрд▓рд╛рдИ рд╕рдореНрдЭрди рд╕рдЬрд┐рд▓реЛ рд░ рд╕рдЬрд┐рд▓реЛ рд╣реБрди рд╕рдХреНрдЫред PIN рд▓рдореНрдмрд╛рдЗ рд╡рд╛ рдЕрдирд┐рдпрдорд┐рддрддрд╛рдорд╛ рд╣реБрдиреЗ рдмреЗрдлрд╛рдЗрджрд╛рд╣рд░реВ рднреМрддрд┐рдХ рдЕрдзрд┐рдХрд╛рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд░ PIN рдмреНрд░реБрдЯ рдлреЛрд░реНрд╕рдорд╛ рдкреНрд░рддрд┐рдмрдиреНрдзрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдЕрдлрд╕реЗрдЯ рд╣реБрдиреНрдЫрдиреНред
рдердк рд░реВрдкрдорд╛, рдпреЛ рд╕рд░рдХрд╛рд░реА рдПрдЬреЗрдиреНрд╕реАрд╣рд░реВрдорд╛ рд╣реБрдиреНрдЫ рдХрд┐ рддрд┐рдиреАрд╣рд░реВ рд╕рдмреИ GOST рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫрдиреНред рд▓рд┐рдирдХреНрд╕рдорд╛ рд▓рдЧ рдЗрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ 2FA рд╡рд┐рдХрд▓реНрдк рдЫрд▓рдлрд▓ рдЧрд░рд┐рдиреЗрдЫред рдо рдЯрд╛рдврд╛рдмрд╛рдЯ рд╕реБрд░реБ рдЧрд░реНрдЫреБред
PAM рдореЛрдбреНрдпреБрд▓рд╣рд░реВ
Pluggable Authentication Modules (PAM) рдПрдХ рдорд╛рдирдХ API рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдВрдпрдиреНрддреНрд░рд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрдПрдХреЛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд╣реБрдиреНред
PAM рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдиреЗ рд╕рдмреИ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЙрдард╛рдЙрдБрдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред
рдЕрднреНрдпрд╛рд╕рдорд╛, рдпрд╕рд▓реЗ рдпрд╕реНрддреЛ рдХрд╛рдо рдЧрд░реНрдЫ: рд▓рдЧрдЗрди рдЖрджреЗрд╢рд▓реЗ PAM рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдЫ, рдЬрд╕рд▓реЗ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдБрдЪрд╣рд░реВ рдЧрд░реНрдЫ рд░ рдирддрд┐рдЬрд╛рд▓рд╛рдИ рд▓рдЧрдЗрди рдЖрджреЗрд╢рдорд╛ рдлрд░реНрдХрд╛рдЙрдБрдЫред
librtpam
Aktiv рдХрдореНрдкрдиреА рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ рдореЛрдбреНрдпреБрд▓рд▓реЗ рдШрд░реЗрд▓реБ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреАрдХреЛ рдирд╡реАрдирддрдо рдорд╛рдкрджрдгреНрдб рдЕрдиреБрд╕рд╛рд░ рдПрд╕рд┐рдореЗрдЯреНрд░рд┐рдХ рдХреБрдЮреНрдЬреАрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдбрд╣рд░реВ рд╡рд╛ USB рдЯреЛрдХрдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдердкреНрдЫред
рдпрд╕рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╕рд┐рджреНрдзрд╛рдиреНрдд рд╣реЗрд░реМрдВ:
- рдЯреЛрдХрдирд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд░ рдпрд╕рдХреЛ рдирд┐рдЬреА рдХреБрдЮреНрдЬреА рднрдгреНрдбрд╛рд░ рдЧрд░реНрджрдЫ;
- рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдЧреГрд╣ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдкрдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред
рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реБрдиреНрдЫ:
- Rutoken рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рдорд╛рдгрдкрддреНрд░рдХреЛ рд▓рд╛рдЧрд┐ рдЦреЛрдЬреА рдЧрд░реНрджрдЫред
- рдЯреЛрдХрди рдкрд┐рди рдЕрдиреБрд░реЛрдз рдЧрд░рд┐рдПрдХреЛ рдЫред
- рдЕрдирд┐рдпрдорд┐рдд рдбреЗрдЯрд╛ рдирд┐рдЬреА рдХреБрдЮреНрдЬреАрдорд╛ рд╕реАрдзрд╛ рд░реБрдЯреЛрдХрди рдЪрд┐рдкрдорд╛ рд╕рд╛рдЗрди рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫред
- рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░рдмрд╛рдЯ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реБрдиреНрдЫред
- рдореЛрдбреНрдпреБрд▓рд▓реЗ рдХрд▓рд┐рдЩ рдПрдкрдорд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкрд░рд┐рдгрд╛рдо рдлрд░реНрдХрд╛рдЙрдБрдЫред
рддрдкрд╛рдИрдВрд▓реЗ GOST R 34.10-2012 рдХреБрдЮреНрдЬреАрд╣рд░реВ (рд▓рдореНрдмрд╛рдЗ 256 тАЛтАЛрд╡рд╛ 512 рдмрд┐рдЯ) рд╡рд╛ рдкреБрд░рд╛рдиреЛ GOST R 34.10-2001 рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рддрдкрд╛рдИрдВрд▓реЗ рдХреБрдЮреНрдЬреАрд╣рд░реВрдХреЛ рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЪрд┐рдиреНрддрд╛ рд▓рд┐рдиреБ рдкрд░реНрджреИрди - рддрд┐рдиреАрд╣рд░реВ рд╕рд┐рдзреИ рд░реБрдЯреЛрдХреЗрдирдорд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫрдиреН рд░ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдЕрдкрд░реЗрд╕рдирд╣рд░реВрдорд╛ рдпрд╕рдХреЛ рдореЗрдореЛрд░реА рдХрд╣рд┐рд▓реНрдпреИ рдЫреЛрдбреНрджреИрдирдиреНред
Rutoken EDS 2.0 NDV 4 рдЕрдиреБрд╕рд╛рд░ FSB рд░ FSTEC рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдЧреЛрдкреНрдп рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдиреЗ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкреНрд░рдпреЛрдЧ
рд▓рдЧрднрдЧ рдХреБрдиреИ рдкрдирд┐ рдЖрдзреБрдирд┐рдХ рд▓рд┐рдирдХреНрд╕рд▓реЗ рдЧрд░реНрдиреЗрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА xUbuntu 18.10 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВред
рез) рдЖрд╡рд╢реНрдпрдХ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
sudo apt-get install libccid pcscd opensc
рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕реНрдХреНрд░рд┐рдирд╕реЗрднрд░рдХреЛ рд╕рд╛рде рдбреЗрд╕реНрдХрдЯрдк рд▓рдХ рдердкреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдкреНрдпрд╛рдХреЗрдЬ рдердк рд░реВрдкрдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН libpam-pkcs11
.
2) GOST рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде PAM рдореЛрдбреНрдпреБрд▓ рдердкреНрдиреБрд╣реЛрд╕реН
рдмрд╛рдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЛрдб рдЧрд░реНрджреИ
PAM рдлреЛрд▓реНрдбрд░ librtpam.so.1.0.0 рдХреЛ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдгрд╛рд▓реА рдлреЛрд▓реНрдбрд░рдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реН
/usr/lib/
рд╡рд╛ /usr/lib/x86_64-linux-gnu/
рд╡рд╛ /usr/lib64
3) librtpkcs11ecp.so рдХреЛ рд╕рд╛рде рдкреНрдпрд╛рдХреЗрдЬ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рд▓рд┐рдЩреНрдХрдмрд╛рдЯ DEB рд╡рд╛ RPM рдкреНрдпрд╛рдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН:
4) рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ Rutoken EDS 2.0 рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ
рдЯрд░реНрдорд┐рдирд▓рдорд╛ рд╣рд╛рдореА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдЫреМрдВ
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
рдпрджрд┐ рддрдкрд╛рдЗрдБ рд▓рд╛рдЗрди рджреЗрдЦреНрдиреБрд╣реБрдиреНрдЫ Rutoken ECP <no label>
- рдпрд╕рдХреЛ рдорддрд▓рдм рд╕рдмреИ рдареАрдХ рдЫред
5) рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрдвреНрдиреБрд╣реЛрд╕реН
рдЙрдкрдХрд░рдгрд╕рдБрдЧ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЫ рднрдиреА рдЬрд╛рдБрдЪ рдЧрд░реНрджреИ
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
рдпрджрд┐ рд▓рд╛рдЗрди рдкрдЫрд┐:
Using slot 0 with a present token (0x0)
- рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдЫ рдХреБрдЮреНрдЬреАрд╣рд░реВ рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрдвреНрди рд░ рдбрд┐рд╕реНрдХрдорд╛ рдмрдЪрдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН, рдЬрд╣рд╛рдБ {id} рдХреЛ рд╕рдЯреНрдЯрд╛ рддрдкрд╛рдИрдВрд▓реЗ рдЕрдШрд┐рд▓реНрд▓реЛ рдЖрджреЗрд╢рдХреЛ рдЖрдЙрдЯрдкреБрдЯрдорд╛ рджреЗрдЦреНрдиреБрднрдПрдХреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ ID рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
рдпрджрд┐ cert.crt рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ, рдЪрд░рдг 6 рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН)ред - рддреНрдпрд╣рд╛рдБ рдХреЗрд╣реА рдЫреИрди, рддреНрдпрд╕рдкрдЫрд┐ рдЙрдкрдХрд░рдг рдЦрд╛рд▓реА рдЫред рдЖрдлреНрдиреЛ рдкреНрд░рд╢рд╛рд╕рдХрд▓рд╛рдИ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╡рд╛ рдЕрд░реНрдХреЛ рдЪрд░рдг рдкрдЫреНрдпрд╛рдПрд░ рдХреБрдЮреНрдЬреАрд╣рд░реВ рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЖрдлреИрдВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
5.1) рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдзреНрдпрд╛рди! рдХреБрдЮреНрдЬреАрд╣рд░реВ рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХрд╛ рд╡рд┐рдзрд┐рд╣рд░реВ рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫрдиреН рд░ рд▓рдбрд╛рдИ рдореЛрдбрдорд╛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛрдЗрдиред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рд╕рдВрдЧрдардирдХреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╡рд╛ рдПрдХ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдХреБрдЮреНрдЬреА рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
PAM рдореЛрдбреНрдпреБрд▓ рд╕реНрдерд╛рдиреАрдп рдХрдореНрдкреНрдпреБрдЯрд░рд╣рд░реВ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛ рд░ рд╕рд╛рдирд╛ рд╕рдВрдЧрдардирд╣рд░реВрдорд╛ рдХрд╛рдо рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рддреНрдпрд╣рд╛рдБ рдереЛрд░реИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рднрдПрдХреЛрд▓реЗ, рдкреНрд░рд╢рд╛рд╕рдХрд▓реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рд░рджреНрдж рдЧрд░реНрдиреЗ рд░ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЦрд╛рддрд╛рд╣рд░реВ рдмреНрд▓рдХ рдЧрд░реНрди, рд╕рд╛рдереИ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВрдХреЛ рд╡реИрдзрддрд╛ рдЕрд╡рдзрд┐рдХреЛ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рд╕рдХреНрдЫред PAM рдореЛрдбреНрдпреБрд▓рд▓рд╛рдИ рдЕрдЭреИ рдерд╛рд╣рд╛ рдЫреИрди рдХрд┐ рдХрд╕рд░реА CRL рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдиреЗ рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕рдХреЛ рдЪреЗрдирд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреЗред
рд╕рдЬрд┐рд▓реЛ рддрд░рд┐рдХрд╛ (рдмреНрд░рд╛рдЙрдЬрд░ рдорд╛рд░реНрдлрдд)
рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди, рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдЧреАрдХрдХреЛ рдмрд╛рдЯреЛ (рдХрдиреНрд╕реЛрд▓ рд░ рд╕рдореНрднрд╡рддрдГ рдХрдореНрдкрд╛рдЗрд▓рд░ рдорд╛рд░реНрдлрдд)
OpenSC рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН
$ opensc-tool --version
рдпрджрд┐ рд╕рдВрд╕реНрдХрд░рдг 0.20 рднрдиреНрджрд╛ рдХрдо рдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдЕрдкрдбреЗрдЯ рд╡рд╛ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдирд┐рдореНрди рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрд╕рдБрдЧ рдХреБрдЮреНрдЬреА рдЬреЛрдбреА рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:
--key-type: GOSTR3410-2012-512:╨Р (╨У╨Ю╨б╨в-2012 512 ╨▒╨╕╤В c ╨┐╨░╤А╨░╨╝╤Б╨╡╤В╨╛╨╝ ╨Р), GOSTR3410-2012-256:A (╨У╨Ю╨б╨в-2012 256 ╨▒╨╕╤В ╤Б ╨┐╨░╤А╨░╨╝╤Б╨╡╤В╨╛╨╝ A)
--id:
рд╡рд╕реНрддреБ рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛ (CKA_ID) ASCII рддрд╛рд▓рд┐рдХрд╛рдмрд╛рдЯ рджреБрдИ-рдЕрдЩреНрдХрдХреЛ рд╣реЗрдХреНрд╕ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рдирдореНрдмрд░рд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ред рдкреНрд░рд┐рдиреНрдЯрдпреЛрдЧреНрдп рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ ASCII рдХреЛрдбрд╣рд░реВ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдХрд┐рдирднрдиреЗ... id рд▓рд╛рдИ рд╕реНрдЯреНрд░рд┐рдЩрдХреЛ рд░реВрдкрдорд╛ OpenSSL рдорд╛ рдкрд╛рд╕ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, ASCII рдХреЛрдб "3132" рд╕реНрдЯреНрд░рд┐рдЩ "12" рд╕рдВрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫред рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132
рдЕрд░реНрдХреЛ рд╣рд╛рдореА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВред рджреБрдИ рддрд░рд┐рдХрд╛рд╣рд░реВ рддрд▓ рд╡рд░реНрдгрди рдЧрд░рд┐рдиреЗрдЫ: рдкрд╣рд┐рд▓реЛ CA рдорд╛рд░реНрдлрдд (рд╣рд╛рдореА рдкрд░реАрдХреНрд╖рдг CAs рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВ), рджреЛрд╕реНрд░реЛ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЫред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рд▓реЗ рд╕реНрдерд╛рдкрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ OpenSSL рд╕рдВрд╕реНрдХрд░рдг 1.1 рд╡рд╛ рдкрдЫрд┐рдХреЛ Rutoken рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╡рд┐рд╢реЗрд╖ rtengine рдореЛрдбреНрдпреБрд▓ рдорд╛рд░реНрдлрдд рдореНрдпрд╛рдиреБрдЕрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ред
рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐: '-рдХрд╛ рд▓рд╛рдЧрд┐-id 3132
' OpenSSL рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ "pkcs11:id=12
"ред
рддрдкрд╛рдИрд▓реЗ рдкрд░реАрдХреНрд╖рдг CA рдХреЛ рд╕реЗрд╡рд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬрд╕рдордзреНрдпреЗ рдзреЗрд░реИ рдЫрдиреН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐,
рдЕрд░реНрдХреЛ рд╡рд┐рдХрд▓реНрдк рднрдиреЗрдХреЛ рдЖрд▓рд╕реНрдпрдорд╛ рджрд┐рдиреБ рд░ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБ рд╣реЛ
$ openssl req -utf8 -new -keyform engine -key "pkcs11:id=12" -engine rtengine -out req.csr
рдпрдиреНрддреНрд░рдорд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдкрд▓реЛрдб рдЧрд░реНрджреИ
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer
6) рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рджрд░реНрддрд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдИрдВрдХреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЖрдзрд╛рд░ 64 рдлрд╛рдЗрд▓ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:
рдпрджрд┐ рддрдкрд╛рдИрдВрдХреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рднрдиреЗ:
рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд▓рд╛рдИ DER рдврд╛рдБрдЪрд╛рдмрд╛рдЯ PEM рдврд╛рдБрдЪрд╛рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (base64)
$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM
рд╣рд╛рдореА рдлреЗрд░рд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреМрдВ рдХрд┐ рд╕рдмреИ рдЕрд╣рд┐рд▓реЗ рдХреНрд░рдордмрджреНрдз рдЫред
рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВрдХреЛ рд╕реВрдЪреАрдорд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдердкреНрдиреБрд╣реЛрд╕реН
$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates
рдЕрдиреНрддрд┐рдо рдкрдЩреНрдХреНрддрд┐рд▓реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВрдХреЛ рд╕реВрдЪреАрд▓рд╛рдИ рдЕрдиреНрдп рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╕рдВрдпреЛрдЧрд╡рд╢ рд╡рд╛ рдЬрд╛рдирд╛рдЬрд╛рдиреА рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдирдмрд╛рдЯ рдЬреЛрдЧрд╛рдЙрдБрдЫред рдпрд╕рд▓реЗ рдХрд╕реИрд▓рд╛рдИ рдпрд╣рд╛рдБ рдЖрдлреНрдиреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдердкреНрди рд░ рддрдкрд╛рдИрдВрдХреЛ рддрд░реНрдлрдмрд╛рдЯ рд▓рдЧ рдЗрди рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдирдмрд╛рдЯ рд░реЛрдХреНрдЫред
7) рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрдЯ рдЕрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН
рд╣рд╛рдореНрд░реЛ PAM рдореЛрдбреНрдпреБрд▓ рд╕реЗрдЯрдЕрдк рдкреВрд░реНрдгрддрдпрд╛ рдорд╛рдирдХ рд╣реЛ рд░ рдЕрдиреНрдп рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд╕реЗрдЯрдЕрдк рдЧрд░реЗ рдЬрд╕реНрддреИ рдЧрд░реАрдиреНрдЫред рдлрд╛рдЗрд▓рдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН /usr/share/pam-configs/rutoken-gost-pam
рдореЛрдбреНрдпреБрд▓рдХреЛ рдкреВрд░рд╛ рдирд╛рдо рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдЪрд╛рд╣реЗ рдпреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдЫ, рдореЛрдбреНрдпреБрд▓рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВред
рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрд▓реЗ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╕рдлрд▓рддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ:
- рдЖрд╡рд╢реНрдпрдХ: рддреНрдпрд╕реНрддрд╛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрд▓реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлрд░реНрдХрд╛рдЙрдиреБ рдкрд░реНрдЫред рдпрджрд┐ рдореЛрдбреНрдпреБрд▓ рдХрд▓рдХреЛ рдирддрд┐рдЬрд╛рдорд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЫ рднрдиреЗ, рдпрд╕рд▓реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддреНрд░реБрдЯрд┐рдХреЛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдиреНрдЫред рдЕрдиреБрд░реЛрдз рдЫреЛрдбрд┐рдиреЗрдЫ, рддрд░ рдмрд╛рдБрдХреА рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдмреЛрд▓рд╛рдЗрдиреЗрдЫред
- рдЖрд╡рд╢реНрдпрдХ: рдЖрд╡рд╢реНрдпрдХ рдЬрд╕реНрддреИ, рддрд░ рддреБрд░реБрдиреНрдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрд╕рдлрд▓ рд╣реБрдиреНрдЫ рд░ рдЕрдиреНрдп рдореЛрдбреНрдпреБрд▓рд╣рд░реВрд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрджрдЫред
- рдкрд░реНрдпрд╛рдкреНрдд: рдпрджрд┐ рдпрд╕реНрддреЛ рдореЛрдбреНрдпреБрд▓ рдЕрдШрд┐ рдХреБрдиреИ рдкрдирд┐ рдЖрд╡рд╢реНрдпрдХ рд╡рд╛ рдкрд░реНрдпрд╛рдкреНрдд рдореЛрдбреНрдпреБрд▓рд▓реЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдирддрд┐рдЬрд╛ рдлрд░реНрдХрд╛рдПрди рднрдиреЗ, рдореЛрдбреНрдпреБрд▓рд▓реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлрд░реНрдХрд╛рдЙрдиреЗрдЫред рдмрд╛рдБрдХреА рдореЛрдбреНрдпреБрд▓рд╣рд░реВрд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░рд┐рдиреЗрдЫред
- рдРрдЪреНрдЫрд┐рдХ: рдпрджрд┐ рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдХреБрдиреИ рдЖрд╡рд╢реНрдпрдХ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдЫреИрдирдиреН рд░ рдкрд░реНрдпрд╛рдкреНрдд рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдордзреНрдпреЗ рдХреБрдиреИ рдкрдирд┐ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдирддрд┐рдЬрд╛ рдлрд░реНрдХрд╛рдЙрдБрджреИрдирдиреН рднрдиреЗ, рдХрдореНрддрд┐рдорд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдореЛрдбреНрдпреБрд▓рд▓реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдирддрд┐рдЬрд╛ рдлрд░реНрдХрд╛рдЙрдиреБ рдкрд░реНрдЫред
рдкреВрд░реНрдг рдлрд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА /usr/share/pam-configs/rutoken-gost-pam
:
Name: Rutoken PAM GOST
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient /usr/lib/librtpam.so.1.0.0 /usr/lib/librtpkcs11ecp.so
рдлрд╛рдЗрд▓ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН, рддреНрдпрд╕рдкрдЫрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН
$ sudo pam-auth-update
рджреЗрдЦрд╛ рдкрд░реНрдиреЗ рд╡рд┐рдиреНрдбреЛрдорд╛, рдпрд╕рдХреЛ рдЫреЗрдЙрдорд╛ рддрд╛рд░рд╛ рдЪрд┐рдиреНрд╣ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН Rutoken PAM GOST рд░ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН OK
8) рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рд╕рдмреИ рдХреБрд░рд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗрд░ рдмреБрдЭреНрди, рддрд░ рдПрдХреИ рд╕рдордпрдорд╛ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд▓рдЧ рдЗрди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдЧреБрдорд╛рдЙрдиреБ рд╣реБрдБрджреИрди, рдЖрджреЗрд╢ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
$ sudo login
рдЖрдлреНрдиреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпрджрд┐ рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рдпрдиреНрддреНрд░ рдкрд┐рди рдХреЛрдб рдЪрд╛рд╣рд┐рдиреНрдЫ рднрдиреЗ рд╕рдмреИ рдХреБрд░рд╛ рдареАрдХрд╕рдБрдЧ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫред
9) рдЯреЛрдХрди рдирд┐рдХрд╛рд▓реНрджрд╛ рдмреНрд▓рдХ рдЧрд░реНрди рдХрдореНрдкреНрдпреБрдЯрд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдкреНрдпрд╛рдХреЗрдЬрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫ libpam-pkcs11
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫ pkcs11_eventmgr,
рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ PKCS#11 рдШрдЯрдирд╛рд╣рд░реВ рд╣реБрдБрджрд╛ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ pkcs11_eventmgr
рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрджрдЫ: /etc/pam_pkcs11/pkcs11_eventmgr.conf
рд╡рд┐рднрд┐рдиреНрди Linux рд╡рд┐рддрд░рдгрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рд╡рд╛ рдЯреЛрдХрди рд╣рдЯрд╛рдЗрдБрджрд╛ рдЦрд╛рддрд╛ рд▓рдХ рд╣реБрдиреЗ рдЖрджреЗрд╢ рдлрд░рдХ рд╣реБрдиреЗрдЫред рд╕реЗрдореАред event card_remove
.
рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рддрд▓ рджреЗрдЦрд╛рдЗрдПрдХреЛ рдЫ:
pkcs11_eventmgr
{
# ╨Ч╨░╨┐╤Г╤Б╨║ ╨▓ ╨▒╤Н╨║╨│╤А╨░╤Г╨╜╨┤╨╡
daemon = true;
# ╨Э╨░╤Б╤В╤А╨╛╨╣╨║╨░ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╣ ╨╛╤В╨╗╨░╨┤╨║╨╕
debug = false;
# ╨Т╤А╨╡╨╝╤П ╨╛╨┐╤А╨╛╤Б╨░ ╨▓ ╤Б╨╡╨║╤Г╨╜╨┤╨░╤Е
polling_time = 1;
# ╨г╤Б╤В╨░╨╜╨╛╨▓╨║╨░ ╤В╨░╨╣╨╝-╨░╤Г╤В╨░ ╨╜╨░ ╤Г╨┤╨░╨╗╨╡╨╜╨╕╨╡ ╨║╨░╤А╤В╤Л
# ╨Я╨╛-╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О 0
expire_time = 0;
# ╨Т╤Л╨▒╨╛╤А pkcs11 ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨╕ ╨┤╨╗╤П ╤А╨░╨▒╨╛╤В╤Л ╤Б ╨а╤Г╤В╨╛╨║╨╡╨╜
pkcs11_module = usr/lib/librtpkcs11ecp.so;
# ╨Ф╨╡╨╣╤Б╤В╨▓╨╕╤П ╤Б ╨║╨░╤А╤В╨╛╨╣
# ╨Ъ╨░╤А╤В╨░ ╨▓╤Б╤В╨░╨▓╨╗╨╡╨╜╨░:
event card_insert {
# ╨Ю╤Б╤В╨░╨▓╨╗╤П╨╡╨╝ ╨╖╨╜╨░╤З╨╡╨╜╨╕╤П ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О (╨╜╨╕╤З╨╡╨│╨╛ ╨╜╨╡ ╨┐╤А╨╛╨╕╤Б╤Е╨╛╨┤╨╕╤В)
on_error = ignore ;
action = "/bin/false";
}
# ╨Ъ╨░╤А╤В╨░ ╨╕╨╖╨▓╨╗╨╡╤З╨╡╨╜╨░
event card_remove {
on_error = ignore;
# ╨Т╤Л╨╖╤Л╨▓╨░╨╡╨╝ ╤Д╤Г╨╜╨║╤Ж╨╕╤О ╨▒╨╗╨╛╨║╨╕╤А╨╛╨▓╨║╨╕ ╤Н╨║╤А╨░╨╜╨░
# ╨Ф╨╗╤П GNOME
action = "dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock";
# ╨Ф╨╗╤П XFCE
# action = "xflock4";
# ╨Ф╨╗╤П Astra Linux (FLY)
# action = "fly-wmfunc FLYWM_LOCK";
}
# ╨Ъ╨░╤А╤В╨░ ╨┤╨╛╨╗╨│╨╛╨╡ ╨▓╤А╨╡╨╝╤П ╨╕╨╖╨▓╨╗╨╡╤З╨╡╨╜╨░
event expire_time {
# ╨Ю╤Б╤В╨░╨▓╨╗╤П╨╡╨╝ ╨╖╨╜╨░╤З╨╡╨╜╨╕╤П ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О (╨╜╨╕╤З╨╡╨│╨╛ ╨╜╨╡ ╨┐╤А╨╛╨╕╤Б╤Е╨╛╨┤╨╕╤В)
on_error = ignore;
action = "/bin/false";
}
}
рддреНрдпрд╕ рдкрдЫрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдердкреНрдиреБрд╣реЛрд╕реН pkcs11_eventmgr
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЧрд░реНрдиред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, .bash_profile рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:
$ nano /home/<╨╕╨╝╤П_╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╨╡╨╗╤П>/.bash_profile
рдлрд╛рдЗрд▓рдХреЛ рдЕрдиреНрддреНрдпрдорд╛ pkcs11_eventmgr рд▓рд╛рдИ рдЬреЛрдбреНрдиреБрд╣реЛрд╕реН рд░ рд░рд┐рдмреБрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрдЕрдк рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд░реНрдгрд┐рдд рдЪрд░рдгрд╣рд░реВ рдШрд░реЗрд▓реБ рд╕рд╣рд┐рдд рдХреБрдиреИ рдкрдирд┐ рдЖрдзреБрдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрдорд╛ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛
рд▓рд┐рдирдХреНрд╕ рдкреАрд╕реАрд╣рд░реВ рд░реВрд╕реА рд╕рд░рдХрд╛рд░реА рдПрдЬреЗрдиреНрд╕реАрд╣рд░реВрдорд╛ рдмрдвреНрджреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реБрдБрджреИрдЫрдиреН, рд░ рдпрд╕ OS рдорд╛ рднрд░рдкрд░реНрджреЛ рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрдЯрдЕрдк рд╕рдзреИрдВ рд╕рдЬрд┐рд▓реЛ рд╣реБрдБрджреИрдиред рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпрд╕ рдЧрд╛рдЗрдбрдХреЛ рд╕рд╛рде "рдкрд╛рд╕рд╡рд░реНрдб рд╕рдорд╕реНрдпрд╛" рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд░ рдпрд╕рдорд╛ рдзреЗрд░реИ рд╕рдордп рдЦрд░реНрдЪ рдирдЧрд░реА рддрдкрд╛рдИрдВрдХреЛ рдкреАрд╕реАрдорд╛ рдкрд╣реБрдБрдЪрд▓рд╛рдИ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдкрдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрди рдкрд╛рдЙрдБрджрд╛ рдЦреБрд╕реА рд╣реБрдиреЗрдЫреМрдВред
рд╕реНрд░реЛрдд: www.habr.com