MYCSS

2019-06-01

Використання аппаратного токену та сховища серифікатів у OpenVPN


Знов пишу нотатку для себе.
Тема сьогодні робота у середовищі 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 можна викреслити розділ про сертифікат  та ключ, але треба залишити <ca>,<tls-auth>

.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
<ca>
-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----
</ca>

<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
....
-----END OpenVPN Static key V1-----
</tls-auth>

Як використовувати внутрішнє сховище сертифікатів Microsoft Windows

Якщо використовувати внутрішнє сховище сертифікатів Microsoft Windows  до
у .ovpn file треба замість ключів та сертифікатів використати:
cryptoapicert "SUBJ:some_user-ovpn"
Де "SUBJ:some_user-ovpn" це CN поле з сертифікату користувача.
Керування сертифікатами з mmc.



За матеріалами :

Немає коментарів:

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready