...
- Включить поддержку токенов в 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-код>
- <токен_и_закрытый_ключ> – задаётся по формату: %smartcard[<номер_слота_с_токеном>[@<название_модуля>]]:<идентификатор_ключевой_пары>
где
- <название_модуля> – название модуля в файле/etc/strongswan.d/charon/pkcs11.conf, в котором указана интерфейсная библиотека для работы с токеном;
- <идентификатор_ключевой_пары> – идентификатор, с которым закрытый ключ записан на токен.
Например: %smartcard0@rutoken:45
- <pin-код> – пользовательский pin-код токена для доступа к объектам на токене.
Пример файла/etc/ipsec.secretsдля вышеприведённого Рутокена:Блок кода : PIN %smartcard0@rutoken:45 12345678
- Перезапустить strongSwan для применения настроек:
Command sudo ipsec restart
- Если в файле
/etc/ipsec.secretsнастроен запрос пароля от токена, то для ввода пароля от токена выполнить команды:Command Title sudo ipsec rereadsecrets sudo ipsec rereadsecrets
Блок кода Login to '%smartcard0@rutoken:45' required PIN:Command sudo ipsec reload
Для просмотра состояния установленного VPN-соединения используется команда:
...