Инструменты пользователя

Инструменты сайта


xca:openvpn

Это старая версия документа!


XCA — OpenVPN

Проверенно в XCA 2.1.2

Управление ключами и сертификатами OpenVPN в XCA

За основу взята статья 2011 года Using XCA to configure the OpenVPN PKI part as an alternative to OpenVPN's easy-rsa.

Для удобства работы создана БД OpenVPN.xdb с шаблонами:

  • OpenVPN_ЦС
  • OpenVPN_Сервер
  • OpenVPN_Клиент

Ограничения

  1. Нельзя сохранить в БД параметры Диффи — Хеллмана, их можно только создать: Генерация параметров Диффи — Хеллмана. Открыта тема #96.
  2. Нельзя создать и сохранить в БД ta.key, используемый для tls-auth. Открыта тема #89.

Типовые действия

Создание нового сервера

Создание нового клиента

Создание нового центра сертификации

Перейти на вкладку Сертификаты и нажать кнопку Новый сертификат

На вкладке Первоисточник

  • выбрать Алгоритм подписи выбрать SHA1
  • в разделе Шаблон для нового сертификата выбрать OpenVPN_ЦС

Нажать кнопку Применить всё

На вкладке Субъект нужно заполнить поля:

Нажать кнопку Сгенерировать новый ключ

В окне появившемся окне Certificate and Key management

  • в поле Тип ключа выбрать RSA
  • в поле Длина ключа выбрать 2048 bit

нажать кнопку Создать.

Из шаблона подставляются значения для вкладок:

  • Расширения
  • Область применения ключа
  • Netscape

На вкладке Расширения нужно задать период действия сертификата.

После заполнения полей нужно нажать кнопку OK


При необходимости можно выполнить процесс «с нуля»:

Создание нового центра сертификации «с нуля»

Создание нового центра сертификации «с нуля»

Перейти на вкладку Сертификаты и нажать кнопку Новый сертификат

На вкладке Первоисточник

  • в разделе Подписание выбрать Создать самозаверенный сертификат
  • выбрать Алгоритм подписи выбрать SHA1
  • в разделе Шаблон для нового сертификата выбрать [default] CA

Нажать кнопку Применить всё

На вкладке Субъект нужно заполнить поля:

Нажать кнопку Сгенерировать новый ключ

В окне появившемся окне Certificate and Key management

  • в поле Тип ключа выбрать RSA
  • в поле Длина ключа выбрать 2048 bit

нажать кнопку Создать.

На вкладке Расширения в поле Тип нужно выбрать Центр сертификации, для остальных полей можно оставить значения по умолчанию.

На вкладке Область применения ключа в поле X509v3 Key usage нужно выбрать

  • Certificate Sign
  • CLR Sign

На вкладке Netscape в поле Netscape Cert Type нужно выбрать:

  • SSL CA
  • S/MIME CA
  • Object Signing CA

Также нужно удалить значение поля Netscape Comment

На вкладке Дополнительно будет показана результирующая информация:

X509v3 Basic Constraints critical:
CA:TRUE
X509v3 Subject Key Identifier:
E1:88:9E:34:60:7B:00:4D:98:9B:03:62:D7:B3:BD:DC:D2:24:68:31
X509v3 Key Usage:
Certificate Sign, CRL Sign
Netscape Cert Type:
SSL CA, S/MIME CA, Object Signing CA
Netscape Comment:
xca certificate

Проверив её можно нажать кнопку OK

Создание сертификата сервера

Перейти на вкладку Сертификаты и нажать кнопку Новый сертификат

На вкладке Первоисточник, в разделе Подписание

  • в поле Использовать этот сертификат для подписи нужно выбрать (созданный ранее) OpenVPN CA
  • в поле Алгоритм подписи выбрать SHA 1
  • в поле Шаблон для нового сертификата выбрать OpenVPN_Сервер

Нажать кнопку Применить всё

На вкладке Субъект нужно заполнить поля:

Нажать кнопку Сгенерировать новый ключ

В окне появившемся окне Certificate and Key management

  • в поле Тип ключа выбрать RSA
  • в поле Длина ключа выбрать 2048 bit

Нажать кнопку Создать

Теперь в поле Закрытый ключ нужно выбрать только что созданный ключ OpenVPN Server (RSA:2048 bit)

Из шаблона подставляются значения для вкладок:

  • Расширения
  • Область применения ключа
  • Netscape

На вкладке Расширения нужно задать период действия сертификата.

После заполнения полей нужно нажать кнопку OK


При необходимости можно выполнить процесс «с нуля»:

Создание сертификата сервера «с нуля»

Создание сертификата сервера «с нуля»

Перейти на вкладку Сертификаты и нажать кнопку Новый сертификат

На вкладке Первоисточник, в разделе Подписание

  • в поле Использовать этот сертификат для подписи нужно выбрать (созданный ранее) OpenVPN CA
  • в поле Алгоритм подписи выбрать SHA 1
  • в поле Шаблон для нового сертификата выбрать [default] HTTPS_server

Нажать кнопку Применить всё

На вкладке Субъект нужно заполнить поля:

Нажать кнопку Сгенерировать новый ключ

В окне появившемся окне Certificate and Key management

  • в поле Тип ключа выбрать RSA
  • в поле Длина ключа выбрать 2048 bit

Нажать кнопку Создать

Теперь в поле Закрытый ключ нужно выбрать только что созданный ключ OpenVPN Server (RSA:2048 bit)

На вкладке Расширения в разделе X509v3 Base constraints в поле Тип выбрать Конечный субъект

В разделе Key identifier нужно выбрать:

  • Critical
  • Subject Key Identifier

Также нужно задать период действия ключа.

На вкладке Область применения ключа в поле X509v3 Key Usage выбрать:

  • Digital Signature
  • Key Encipherment

в поле X509v3 Extended Key Usage выбрать:

  • TLS Web Server Authentication

На вкладке Netscape нужно выбрать

  • SSL Server

и удалить значение поля Netscape Comment

На вкладке Дополнительно будет показана результирующая информация:

X509v3 Basic Constraints critical:
CA:FALSE
X509v3 Subject Key Identifier:
C1:32:F2:14:7F:3B:CB:44:B4:25:C8:C2:41:4C:B1:D4:80:9B:D4:A3
X509v3 Key Usage:
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication
Netscape Cert Type:
SSL Server

Проверив её можно нажать кнопку OK

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

Перейти на вкладку Сертификаты и нажать кнопку Новый сертификат

На вкладке Первоисточник, в разделе Подписание

  • в поле Использовать этот сертификат для подписи нужно выбрать (созданный ранее) OpenVPN CA
  • в поле Алгоритм подписи выбрать SHA 1
  • в поле Шаблон для нового сертификата выбрать OpenVPN_Клиент

Нажать кнопку Применить всё

На вкладке Субъект нужно заполнить поля:

Нажать кнопку Сгенерировать новый ключ

В окне появившемся окне Certificate and Key management

  • в поле Тип ключа выбрать RSA
  • в поле Длина ключа выбрать 2048 bit

Нажать кнопку Создать

Из шаблона подставляются значения для вкладок:

  • Расширения
  • Область применения ключа
  • Netscape

На вкладке Расширения нужно задать период действия сертификата.

После заполнения полей нужно нажать кнопку OK


При необходимости можно выполнить процесс «с нуля»:

Создание сертификата клиента «с нуля»

Создание сертификата клиента «с нуля»

Перейти на вкладку Сертификаты и нажать кнопку Новый сертификат

На вкладке Первоисточник, в разделе Подписание

  • в поле Использовать этот сертификат для подписи нужно выбрать (созданный ранее) OpenVPN CA
  • в поле Алгоритм подписи выбрать SHA 1
  • в поле Шаблон для нового сертификата выбрать [default] HTTPS_client

Нажать кнопку Применить всё

На вкладке Субъект нужно заполнить поля:

Нажать кнопку Сгенерировать новый ключ

В окне появившемся окне Certificate and Key management

  • в поле Тип ключа выбрать RSA
  • в поле Длина ключа выбрать 2048 bit

Нажать кнопку Создать

На вкладке Расширения в разделе X509v3 Base constraints в поле Тип выбрать Конечный субъект

В разделе Key identifier нужно выбрать:

  • Critical
  • Subject Key Identifier

Также нужно задать период действия ключа.

На вкладке Область применения ключа в поле X509v3 Key Usage выбрать:

  • Digital Signature
  • Key Agreement

в поле X509v3 Extended Key Usage выбрать:

  • TLS Web Client Authentication

На вкладке Netscape нужно выбрать

  • SSL Client
  • S/MIME

и удалить значение поля Netscape Comment

На вкладке Дополнительно будет показана результирующая информация:

X509v3 Basic Constraints critical:
CA:FALSE
X509v3 Subject Key Identifier:
1D:B8:66:BD:49:11:B3:83:10:E5:F3:7F:92:53:6D:AE:97:64:FB:83
X509v3 Key Usage:
Digital Signature, Key Agreement
X509v3 Extended Key Usage:
TLS Web Client Authentication
Netscape Cert Type:
SSL Client, S/MIME

Проверив её можно нажать кнопку OK

Экспорт сертификата центра сертификации

  1. Перейти на вкладку Сертификаты
  2. Выбрать нужный Сертификат центра сертификации (ЦС)
  3. Нажать кнопку Экспорт
  4. В появившемся окне нужно в поле Формат сертификата выбрать PEM (*.crt), указать путь к файлу
  5. Нажать кнопку OK

Экспорт сертификата сервера

  1. Перейти на вкладку Сертификаты
  2. Выбрать нужный Сертификат сервера
  3. Нажать кнопку Экспорт
  4. В появившемся окне нужно в поле Формат сертификата выбрать PEM (*.crt), указать путь к файлу
  5. Нажать кнопку OK

Экспорт закрытого ключа сервера

  1. Перейти на вкладку Закрытые ключи
  2. Выбрать нужный Закрытый ключ сервера
  3. Нажать кнопку Экспорт
  4. В появившемся окне нужно в поле Формат для экспорта выбрать Закрытый ключ PEM (*.pem), указать путь к файлу
  5. Нажать кнопку OK

Экспорт сертификата клиента

  1. Перейти на вкладку Сертификаты
  2. Выбрать нужный Сертификат клиента
  3. Нажать кнопку Экспорт
  4. В появившемся окне нужно в поле Формат сертификатавыбрать PEM (*.crt), указать путь к файлу
  5. Нажать кнопку OK

Экспорт закрытого ключа клиента

  1. Перейти на вкладку Закрытые ключи
  2. Выбрать нужный Закрытый ключ клиента
  3. Нажать кнопку Экспорт
  4. В появившемся окне нужно в поле Формат для экспортавыбрать Закрытый ключ PEM (*.pem), указать путь к файлу
  5. Нажать кнопку OK

Генерация параметров Диффи — Хеллмана

  1. Меню Дополнительно/Сгенерировать параметры Диффи — Хеллмана
  2. В окне появившемся окне нужно выбрать 2048
  3. Нажать кнопку OK
  4. Начнётся процесс генерации, который может занять несколько минут!
  5. После появится диалог с переложением сохранить из в файл dh2048.pem

Отзыв сертификата

  1. Перейти на вкладку Сертификаты
  2. Выбрать нужный Сертификат
  3. Нажать правую кнопку мыши и в контекстном меню выбрать Отозвать

Экспорт списка отзыва

  1. Перейти на вкладку Сертификаты
  2. Выбрать нужный Центр сертификации (ЦС)
  3. Нажать правую кнопку мыши и в контекстном меню выбрать ЦС/Сгенерировать CRL
  4. Задать нужные значения и нажать кнопку OK
  5. Перейти на вкладку Списки отзыва сертификатов
  6. Выбрать нужный Список отзыва
  7. Нажать на кнопку Экспорт
  8. В окне «Экспорт списка отзывов» нужно задать путь и имя файла, формат файла PEM (*.pem)
  9. нажать кнопку OK

Поля

Internal Name

Это имя используется только внутри программы XCA и не сохранятся в сертификате.

countryName

[C] Код страны (два символа), например RU

stateOfProvinceName

[ST] Регион (область, республика) внутри страны (128 символов).

localityName

[L] Город или населённый пункт (128 символов).

organizationName

[O] Наименование организации (64 символа).

organizationUnitName

[OU] Наименование подразделения организации.

commonName

[CN] Наименование субъекта. (64 символа).

emailAddress

Адрес электронной почты (128 7-битных символов).

Ссылки

xca/openvpn.1550237240.txt.gz · Последние изменения: 2019-02-15 16:27 — GreyWolf