Знов пишу нотатку для себе.
Тема сьогодні робота у середовищі Windows 10, апаратний токен та  OpenVPN.

Як використовувати для сховища сертифікатів апаратний токен

Є такий токен. Я працював з ним раніше:

 На вигляд він ось такий:


eToken NG-OTP 72k (Java)

Для його роботи у операційний системі 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


openvpn.exe  –show-pkcs11-ids

Для роботи з 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
-----BEGIN CERTIFICATE----- .... -----END CERTIFICATE----- # # 2048 bit OpenVPN static key # -----BEGIN OpenVPN Static key V1----- .... -----END OpenVPN Static key V1-----

Як використовувати внутрішнє сховище сертифікатів 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