Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Введение

Стенд

Нам понадобится Рутокен ЭЦП, отформатированный через Панель управления Рутокен, сервер и клиент. В качестве дистрибутива использовалась Ubuntu-12.10-desktop-i386.

Общий порядок действий

Сервер

1. Устанавливаем необходимые для работы Рутокен ЭЦП пакеты:

$ sudo apt-get install pcscd libpcsclite1 libccid 

2. Устанавливаем XCA:

$ sudo apt-get install xca

3. Запускаем XCA:

$ sudo xca

3.1 Создаем новую базу File->New Database.

3.2 Создаем ключ УЦ: Private Keys->New Key, назовем его CAkey, Keytype выбираем RSA, Keysize 2048 bit.

Создаем сертификат УЦ: Certificates->New Certificate согласно представленным скриншотам.

         

3.3 Создаем ключ сервера OpenVPN: Private Keys-> New Key, назовем его Serverkey, Keytype - RSA, Keysize - 2048 bit.

Создаем сертификат сервера: Certificates->New Certificate согласно представленным скриншотам.

          

3.4 Экспортируем сертификат УЦ в файл CA.crt, ключ сервера в файл Serverkey.pem и сертификат сервера в файл Server.crt (Private Keys->Export, Certificates->Export).

4. Для работы с Рутокен ЭЦП нужна библиотека PKCS#11. Указываем путь к ней: File->Options.

4.1 Подключаем Рутокен. Создаем ключ «на борту» Рутокен ЭЦП: Private Keys -> New Key. По запросу вводим PIN-код.

4.2 Создаем сертификат клиента:

          

4.3 Когда XCA предложит сохранить сертфиикат на токен, нажимаем «Yes» и вводим PIN-код. Закрываем XCA.

5. Устанавливаем OpenVPN:

$ sudo apt-get install openvpn

6. Создаем файл с параметрами алгоритма Диффи-Хелмана:

$ openssl dhparam -out dh1024.pem 1024

7. Создаем конфигурационный файл сервера OpenVPN:

$ nano openvpn.conf

У нас, например, он выглядит так:

port 1194
proto tcp
dev tap

ca /home/asd/CA.crt
cert /home/asd/Server.crt
key /home/asd/Serverkey.pem
dh /home/asd/dh1024.pem

server 10.0.0.0  255.255.255.0
ifconfig-pool-persist ipp.txt

keepalive 10 120

cipher BF-CBC
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

8. Запускаем сервер OpenVPN:

$ sudo openvpn --config /home/asd/openvpn.conf

Клиент

9. Устанавливаем пакеты, необходимые для работы Рутокен ЭЦП:

$ sudo apt-get install pcscd libpcsclite1 libccid 

10. Устанавливаем OpenVPN:

$ sudo apt-get install openvpn

11. Создаем конфигурационный файл клиента.

client
dev tap
proto tcp
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun

ca /home/qwe/CA.crt
pkcs11-providers /usr/lib/librtpkcs11ecp.so
pkcs11-id 'Aktiv\x20Co\x2E/Rutoken\x20ECP/2d105684/Rutoken\x20ECP\x20\x3Cno\x20label\x3E/C67F8A314C24E080'

pkcs11-pin-cache 300

comp-lzo
verb 3

В параметре pkcs11-providers указываем путь к библиотеке PKCS#11.

В параметре pkcs11-id указываем ID контейнера, в котором на Рутокен ЭЦП хранятся ключ и сертификат. Узнать этот ID можно с помощью команды:

$ openvpn --show-pkcs11-ids [путь к библиотеке PKCS#11 Рутокен ЭЦП]

 

12. Подключаемся к VPN-серверу:

$ openvpn --config [путь к файлу конфига]


  • No labels