Задать вопрос

Ошибка OpenVPN под Android — ошибка сертификата?

Есть рабочая инфраструктура, состоящая из нескольких серверов OpenVPN и некоторого числа клиентов (Windows, Linux и Android).

Клиентские файлы конфигурации для различных платформ выглядят практически одинаково, за исключением мелких архитектурных особенностей каждой из платформ.
Все SSL-сертификаты (серверные и клиентские) для подключения подписаны одним собственным центром сертификации.

Описанная инфраструктура прекрасно работала до одного момента (примерно конец ноября 2016 г.), затем резко перестали подключаться абсолютно все клиенты под Android. При этом в конфигурацию серверов/клиентов не вносилось никаких изменений. OpenVPN-клиенты на других платформах без проблем продолжают работать.

Ошибка на Android-устройстве при попытке подключения:
OpenVPN server certificate verification failed: PolarSSL: SSL read error: X509 - Certificate verification failed, e.q. CRL, CA or signature check failed.
Полная версия лога:
Скриншот
Продолжение

Лог сервера в момент подключения:
Wed Feb  1 22:53:11 2017 us=989593 MULTI: multi_create_instance called
Wed Feb  1 22:53:11 2017 us=989754 Re-using SSL/TLS context
Wed Feb  1 22:53:11 2017 us=989905 LZO compression initialized
Wed Feb  1 22:53:11 2017 us=990087 Control Channel MTU parms [ L:1560 D:168 EF:68 EB:0 ET:0 EL:0 ]
Wed Feb  1 22:53:11 2017 us=990149 Data Channel MTU parms [ L:1560 D:1450 EF:60 EB:135 ET:0 EL:0 AF:3/1 ]
Wed Feb  1 22:53:11 2017 us=991052 Local Options String: 'V4,dev-type tun,link-mtu 1560,tun-mtu 1500,proto TCPv4_SERVER,comp-lzo,keydir 0,cipher AES-256-CBC,auth SHA1,keysize 256,tls-auth,key-method 2,tls-server'
Wed Feb  1 22:53:11 2017 us=991138 Expected Remote Options String: 'V4,dev-type tun,link-mtu 1560,tun-mtu 1500,proto TCPv4_CLIENT,comp-lzo,keydir 1,cipher AES-256-CBC,auth SHA1,keysize 256,tls-auth,key-method 2,tls-client'
Wed Feb  1 22:53:11 2017 us=991187 Local Options hash (VER=V4): '9915e4a2'
Wed Feb  1 22:53:11 2017 us=991226 Expected Remote Options hash (VER=V4): '2f2c6498'
Wed Feb  1 22:53:11 2017 us=991277 TCP connection established with [AF_INET]192.168.0.104:58009
Wed Feb  1 22:53:11 2017 us=991309 TCPv4_SERVER link local: [undef]
Wed Feb  1 22:53:11 2017 us=991340 TCPv4_SERVER link remote: [AF_INET]192.168.0.104:58009
RWed Feb  1 22:53:11 2017 us=991762 192.168.0.104:58009 TLS: Initial packet from [AF_INET]192.168.0.104:58009, sid=d7485053 5ae035e5
WRWRWWWWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRW
Wed Feb  1 22:53:12 2017 us=157279 192.168.0.104:58009 Connection reset, restarting [0]
Wed Feb  1 22:53:12 2017 us=157426 192.168.0.104:58009 SIGUSR1[soft,connection-reset] received, client-instance restarting
Wed Feb  1 22:53:12 2017 us=157552 TCP/UDP: Closing socket

Версия OpenVPN-клиента под Android:
OpenVPN Connect 1.1.17 (build 76)
OpenVPN core 3.0.12 android armv7a thumb2 32-bit built on May 24 2016 09:42:05

Версия OpenVPN на сервере:
OpenVPN 2.3.6 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Dec  2 2014
library versions: OpenSSL 1.0.1e-fips 11 Feb 2013, LZO 2.03

Примечание: данная ошибка возникает и при попытках подключения к серверу с более новой версией.

Если перенести конфигурацию для Android со всеми файлами, сертификатами и т. д. на любую другую платформу - все Ok.
Причем, данная ошибка появилась одномоментно для всех Android-устройств (планшеты, телефоны), подключающихся из разных мест (разные Интернет-провайдеры) к различным серверам (разные хостинги).
На сегодняшний день я так и не нашел причину данной ошибки и путь для ее решения :(

Товарищи, коллеги - прошу поделиться любыми мыслями и доводами на этот счет. При необходимости выложу конфигурационные файлы сервера/клиента, или другую интересующую информацию.
  • Вопрос задан
  • 7556 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@mink_h Автор вопроса
Спасибо всем за ответы и комментарии, самостоятельно нашел причину данного инцидента: необходимо было перевыпустить файл списка отзыва сертификатов (Сertificate Revocation List, CRL).

Хотя инцидент разрешен, мне все-равно не понятно, почему клиент под Android ругался на "просроченный список отзывов сертификатов" и вообще, как данный список может быть просрочен?
Используемый на тот момент файл со списком был актуальным относительно всех выпущенных/отозванных сертификатов и долгое время не обновлялся, т. к. в этом небыло необходимости (около 5-ти месяцев).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@id2669099
а у всех одинаковое приложение на андроиде?
может, стоит попробовать другое поставить? если не пробовали конечно
UPD:
я вот нашёл ветку форума, тут похожую проблему обсуждают, там предпоследнее сообщение прочтите, тем помогло вроде
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы