@knstantin
Специалист службы технической поддержки

OpenVPN не работает с самостоятельно сгенерированными сертификатами OpenSSL. Как исправить?

Решил настроить OpenVPN для доступа в домашнюю локальную сеть. OpenVPN сервер настраивал по этой инструкции. С EasyRSA настройка прошла гладко.
Однако, решил я сделать отдельный CA по этой инструкции и сгенерировал сертификаты сервера и клиента.
Вот здесь и появилась проблема.
Пытаюсь подключиться через клиент на Windows 7. Клиент красным цветом выделяет ошибку:
VERIFY ERROR: depth=1, error=unable to get issuer certificate: C=RU, ST=Moscow, O=***, OU=***, CN=intermediate1, emailAddress=***
Thu May 21 02:29:10 2020 us=833862 OpenSSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Thu May 21 02:29:10 2020 us=833862 TLS_ERROR: BIO read tls_read_plaintext error
Thu May 21 02:29:10 2020 us=833862 TLS Error: TLS object -> incoming plaintext read error
Thu May 21 02:29:10 2020 us=833862 TLS Error: TLS handshake failed
Thu May 21 02:29:10 2020 us=833862 Fatal TLS error (check_tls_errors_co), restarting

Объясните, пожалуйста, что я делаю не так? И как это исправить?
Аппаратная часть OpenVPN сервера: Raspberry Pi 3b.
Аппаратная часть OpenSSL CA: Raspberry Pi Zero.
  • Вопрос задан
  • 4354 просмотра
Решения вопроса 1
@res2001
Developer, ex-admin
VERIFY ERROR

unable to get issuer certificate

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

easyrsa - это всего лишь легкая обертка над openssl, так что суть одна и та же. Должны работать оба варианта.
В easyrsa используется свой конфиг файл для openssl, возможно там какие-то отличия от того, что вы использовали во втором варианте, сравните их.
Можно сравнить и используемые команды openssl.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Сертификат вашего CA должен быть в Trusted Root Certification Authorities на машине с клиентом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы