Подписаться

Как сгенерировать TLS сертификат (Windows)

Вступление
Безопасность транспортного уровня (TLS) - это криптографический протокол, который обеспечивает безопасность связи по компьютерной сети, а также является преемником SSL.

Протокол TLS нацелен прежде всего на обеспечение конфиденциальности и целостности данных между двумя взаимодействующими компьютерными приложениями. Если протокол TLS защищен, соединения между клиентом и сервером имеют одно или несколько из следующих свойств:

Соединение является частным (или защищенным), поскольку для шифрования передаваемых данных используется симметричная криптография. Ключи для этого симметричного шифрования генерируются уникально для каждого соединения и основаны на общем секрете, согласованном в начале сеанса. Сервер и клиент согласовывают детали того, какой алгоритм шифрования и криптографические ключи использовать перед передачей первого байта данных. Согласование общего секретного ключа является как безопасным (согласованный секрет недоступен для подслушивающих и не может быть получен даже злоумышленником, который помещает себя в центр соединения), так и надежным (ни один злоумышленник не может изменить связь во время согласования без обнаружен).
Личность сообщающихся сторон может быть аутентифицирована с использованием криптографии с открытым ключом. Эта аутентификация может быть сделана необязательной, но обычно требуется по крайней мере для одной из сторон (обычно для сервера).
Соединение обеспечивает целостность, поскольку каждое передаваемое сообщение включает проверку целостности сообщения с использованием кода аутентификации сообщения для предотвращения необнаруженной потери или изменения данных во время передачи.
В этой статье содержится руководство по созданию собственных сертификатов TLS и ключей для подключения OpenVPN, использующего проверку подлинности TLS. Это руководство предназначено для пользователей Windows.

Шаг 1: установка программного обеспечения OpenVPN
Первое, что нам нужно сделать, это установить необходимое программное обеспечение OpenVPN. Вы можете скачать файл установщика OpenVPN здесь.
Просто запустите загруженный файл и следуйте инструкциям руководства по установке.
Важное примечание: в какой-то момент перед началом установки вам будет предложено выбрать, какие компоненты должны быть включены в установку. Убедитесь, что вы выбрали EasyRSA, так как это потребуется позже для генерации ключей и сертификатов. Остальные можно оставить по умолчанию:

Openvpn windows server setup step 1 openvpn installation part 1 v2.png

Шаг 2: подготовка EasyRSA
Теперь мы можем начать подготовку к генерации сертификатов и ключей. Для этого мы будем использовать приложение EasyRSA, которое было установлено вместе с OpenVPN.
Команды EasyRSA должны выполняться через командную строку Windows. Его можно открыть, набрав cmd в строке поиска Windows (кнопка Windows + S). Когда вы запускаете его, убедитесь, что вы запускаете его от имени администратора:

How to generate tls certificates windows part 1 v3.png

Измените текущий каталог на папку EasyRSA. Для этого выполните эту команду:

cd "C:\Program Files\OpenVPN\easy-rsa"

Инициализируйте конфигурацию OpenVPN с помощью следующей команды:

init-config

Откройте файл vars.bat с помощью текстового редактора Notepad:

notepad vars.bat

Это файл шаблона для генерации сертификатов, т.е. информация, хранящаяся здесь, будет предлагаться в качестве значений по умолчанию во время генерации сертификата. Найдите и отредактируйте следующие строки в соответствии с вашими потребностями:

set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=OpenVPN
set KEY_EMAIL=mail@host.domain

Вы также можете установить размер ключа для параметров Диффи-Хеллмана:

set DH_KEY_SIZE=2048

Как только вы закончите, сохраните файл и закройте редактор
Запустите следующие команды:

vars
clean-all

Шаг 3: генерация сертификатов и ключей
Теперь мы можем начать генерировать сертификаты и ключи. Начните с центра сертификации (CA) - файла корневого сертификата, который будет использоваться для подписи других сертификатов и ключей:

build-ca

ПРИМЕЧАНИЕ: вы можете нажать клавишу «Ввод» при появлении запроса на ввод значений, установленных ранее в файле vars.bat. Это установит значения по умолчанию, указанные в vars.bat. Тем не менее, вы должны ввести осмысленное общее имя.

Затем создайте сертификат сервера и ключ:

build-key-server server

ПРИМЕЧАНИЕ: еще раз, не забудьте указать другое общее имя (используйте имя «сервер» для упрощения управления). Когда будет предложено подписать и подтвердить сертификат, введите y и нажмите «Enter».

Далее создайте сертификаты и ключи для клиентов:

build-key Client1

СОВЕТ: используйте то же общее имя, что и имя сертификата (в данном примере Client1). Это поможет вам легче различать клиентов. Выберите значимые имена, такие как "toms_PC", "company_maintenance" и т. Д. Повторите этот шаг столько раз, сколько вам нужно, в зависимости от количества клиентов.

Наконец, сгенерируйте параметры Диффи-Хеллмана:

build-dh

0 Комментарии

Войдите в службу, чтобы оставить комментарий.
На базе технологии Zendesk