...
- Включить поддержку токенов в strongSwan.
Для этого в файле/etc/strongswan.d/charon/pkcs11.confв секцииmodulesуказать пути до интерфейсных библиотек используемых токенов:
Например, для токенов: Рутокен ЭЦП и Аладдин (закомментирован) – файлБлок кода pkcs11 { # Whether to load the plugin. Can also be an integer to increase the # priority of this plugin. load = yes ... # List of available PKCS#11 modules. modules { <название_модуля_1> { path = <путь_к_интерфейсной_библиотеке_токена_1> } <название_модуля_2> { path = <путь_к_интерфейсной_библиотеке_токена_2> } } }/etc/strongswan.d/charon/pkcs11.confможет выглядеть так:Блок кода pkcs11 { load = yes modules { rutoken { path = /usr/lib/librtpkcs11ecp.so } # aladdin { # path = /usr/lib/libjcPKCS11-2.so # } } } - Настроить strongSwan на использование закрытого ключа клиента, который находится на токене.
Для этого указать в файле/etc/ipsec.secretsстроку с описанием токена и закрытого ключа:
илиБлок кода : PIN <токен_и_закрытый_ключ> <pin-код>
гдеБлок кода : PIN <токен_и_закрытый_ключ> %prompt
- <токен_и_закрытый_ключ> – задаётся по формату: %smartcard[<номер_слота_с_токеном>[@<название_модуля>]]:<идентификатор_ключевой_пары>
где
- <название_модуля> – название модуля в файле/etc/strongswan.d/charon/pkcs11.conf, в котором указана интерфейсная библиотека для работы с токеном;
- <идентификатор_ключевой_пары> – идентификатор, с которым закрытый ключ записан на токен.
Например: %smartcard0@rutoken:45
- <pin-код> – пользовательский pin-код токена для доступа к объектам на токене;
- %prompt – если указать эту опцию, то процесс strongSwan запросит ввести pin-код в командной строке. А в файле/etc/ipsec.secretsне надо указывать pin-код.
Пример файла/etc/ipsec.secretsдля вышеприведённого Рутокена с указанием pin-кода:
Пример файлаБлок кода : PIN %smartcard0@rutoken:45 12345678
/etc/ipsec.secretsдля вышеприведённого Рутокена, при котором процесс strongSwan запросит ввести pin-код в командной строке:Блок кода : PIN %smartcard0@rutoken:45 %prompt
- Перезапустить strongSwan для применения настроек:
Command sudo ipsec restart
- Если в файле
/etc/ipsec.secretsнастроен запрос pin-кода токена, то после каждого запуска (перезапуска) strongSwan необходимо ввести pin-код токена вручную.
Ввести команду для ввода pin-кода токена:
Появится приглашение для ввода pin-кода:Command sudo ipsec rereadsecrets
Ввести пользовательский pin-код токена.Блок кода Login to '%smartcard0@rutoken:45' required PIN:
Перезагрузить настройки strongSwan:Command sudo ipsec reload
...