...
- Подключить ключевой носитель к клиентскому узлу.
- Записать на ключевой носитель сертификат клиента:
Command p11tool --login --write --load-certificate="client.cert.pem" --id=45 --label="mykey"
- Записать на ключевой носитель закрытый ключ клиента:
Command p11tool --login --write --load-privkey="client.key.pem" --id=45 --label="mykey"
- Включить поддержку токенов 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 { <название_модуля> { path = <путь_к_интерфейсной_библиотеке_токена> } } }/etc/strongswan.d/charon/pkcs11.confможет полностью выглядеть так:Блок кода pkcs11 { load = yes modules { rutoken { path = /usr/lib/librtpkcs11ecp.so } } } - Настроить strongSwan-сервер на использование закрытого ключа сервера, который находится на токене.
Для этого в файле/etc/ipsec.secretsуказать строку с описанием токена и идентификатором закрытого ключа, хранящегося на токене:
Пример описания для вышеприведённого Рутокена:Блок кода : PIN <токен><токен_и_закрытый_ключ> <pin-код_токена> # # где <токен> указывается<токен_и_закрытый_ключ> задаются по формату: %smartcard[<номер_слота_с_токеном>[@<название_модуля>]]:<id_закрытого_ключа>
Блок кода : PIN %smartcard0@rutoken:45 12345678
...