Використання аппаратного токену та сховища серифікатів у OpenVPN
Знов пишу нотатку для себе.
Тема сьогодні робота у середовищі Windows 10, апаратний токен та OpenVPN.
Як використовувати для сховища сертифікатів апаратний токен
Є такий токен. Я працював з ним раніше:
- eToken PKSC11 створення та використання ключів у Ubuntu
- Ініціалізація модуля OTP у токені “Aladdin eToken NG-OTP” за допомогою SDK
- Одноразові паролі (OTP) та сервер Apache (mod_authn_otp)
- eToken доступ через сертифікати та одноразові паролі
На вигляд він ось такий:
Для його роботи у операційний системі Windows потрібне клієнтське програмне забезпечення для ознайомлення його можна завантажити тут SafeNetAuthenticationClient-x32-x64-10.4.exe.
Надалі потрібно імпортувати сертифікати до токену.
Це можна зробити за допомогою SafeNet Authentication Client.
Дозволяється Import Cetrificate, *.pfx, *.p12 , *.cer.

SafeNet Authentication Client Import Certificates
Треба визначити бібліотеку провайдера послуг ключа у мене це ‘eToken.dll, eTPKCS11.dll’, за звичай вони у теці %windir%\System32. Визначив підбором подібних за ім’ям і чи видавали результат.
Також токени можна використовувати у браузерах і оперувати сертифікатами: Using an Aladdin eToken with firefox. Але у Mozilla я не зміг імпортувати то токену, завжди імпортувався сертифікат у внутрішнє сховище.
Інтеграція з ОpenVpn.
Після імпортування власного сертифікату з ключами (*.p12) можемо використовувати openvpn для пошуку сертифікатів у токені. Сертифікат довжиною 4096 bit мій токен не підтримує.
cd C:\Program Files\OpenVPN\bin
openvpn.exe --show-pkcs11-ids eToken.dll
Для роботи з ovpn потрібен pkcs11-id - це повний рядок ‘Serialized id:’.
Надалі у .ovpn можна викреслити розділ про сертифікат та ключ, але треба залишити
.ovpn file
pkcs11-providers eToken.dll
pkcs11-id 'pkcs11:model=eToken;token=eToken;manufacturer=SafeNet%2c%20Inc.;serial=00111111;id=SOME KEY ID'
pkcs11-pin-cache 300
Як використовувати внутрішнє сховище сертифікатів Microsoft Windows
Якщо використовувати внутрішнє сховище сертифікатів Microsoft Windows до
у .ovpn file треба замість ключів та сертифікатів використати:
cryptoapicert "SUBJ:some_user-ovpn"
Де “SUBJ:some_user-ovpn” це CN поле з сертифікату користувача.
Керування сертифікатами з mmc.
За матеріалами :
-
[2x HOW TO OpenVPN How to add dual-factor authentication to an OpenVPN configuration using client-side smart cards](https://openvpn.net/community-resources/how-to/#how-to-add-dual-factor-authentication-to-an-openvpn-configuration-using-client-side-smart-cards) -
[Reference manual for OpenVPN 2.3 OpenVPN](https://openvpn.net/community-resources/reference-manual-for-openvpn-2-3/) - openvpn pks11 - Пошук Google





