Страница 1 из 1

CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Пн июн 01, 2020 1:18 pm
Vovanesko
Добрый день.
Имею те же сложности с мобильным андроид клиентом: фотоаппарат вместо картинок, при попытке открыть отправленный с виндового заводского клиента файл: "ошибка загрузки файла: java.security.cert.CertPathValidationException: Trust anchor for certification path not found"
Сертификат в web сервисах прописан свой, внешне доверенный.
Интернет шлюз натит и фаерволит порты 2004, 8888, 10000-10030
Сможете посоветовать решение или куда посмотреть?

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Пн июн 01, 2020 1:24 pm
Георгий Лысенко
Здравствуйте.
Эта ошибка говорит о том, что приложение не смогло подтвердить достоверность сертификатов.
Для мобильной версии жесткое требование настоящих валидных сертификатов. Самоподписные не подходят.

Это не наша прихоть, а требование Google Play.

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Пн июн 01, 2020 1:34 pm
Георгий Лысенко
Переношу тему в раздел вопросов.

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Пн июн 01, 2020 1:54 pm
Vovanesko
Валидный внешне проверяемый сертификат есть, он загружен для использования в web (crt, key и пароль )
Но это никак не помогло с пересылкой файлов. Как убедиться, что приложение пытается использовать его? Есть лог?

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Пн июн 01, 2020 1:59 pm
Георгий Лысенко
В админке, раздел "Настройки" - "Сетевые настройки" у вас указано доменное имя в поле "IP адрес или Host сервера для внешних клиентов?"

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Пн июн 01, 2020 2:46 pm
Vovanesko
Был написан ip адрес. Сменил на DNS имя, перезапустил сервис чата. Не поменялось ничего.
В инструкции написаны порты "TCP 80/443 (или 8080) — для скачивания обновлений с сервера MyChat, работы с картинками, закачки обновлений;"
Я не могу их натить в чат. Заняты. Они используются для пересылки файлов/картинок в клиенте?
web сервер настроен на 443.

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Пн июн 01, 2020 3:33 pm
Георгий Лысенко
А в мобильном клиенте в мастере серверов указан ip или hostname?

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Пн июн 01, 2020 4:26 pm
Vovanesko
В мобильном клиенте тоже имя.

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Пн июн 01, 2020 9:56 pm
Алексей Пикуров
Я не могу их натить в чат. Заняты.

И не надо, вы сами настраиваете, какие порты использовать на сервере. Покажите пожалуйста скриншот GUI сервера MyChat, чтобы я увидел, какие порты какая служба MyChat у вас использует.

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Вт июн 02, 2020 10:05 am
Vovanesko
скрины во вложении.
1.JPG

2.JPG

3.JPG

4.JPG

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Вт июн 02, 2020 12:40 pm
Алексей Пикуров
Ваш сертификат некорректен.

Я зашёл в браузере на https://mch.snsz.ru/ и вижу такое:
Веб-сайты подтверждают свою подлинность с помощью сертификатов. Firefox не доверяет этому сайту, потому что он использует сертификат, недействительный для mch.snsz.ru. Сертификат действителен только для 192.168.8.197.

Код ошибки: SEC_ERROR_UNKNOWN_ISSUER

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Вт июн 02, 2020 12:41 pm
Алексей Пикуров
Сертификат выдаётся не на IP-адрес, а на домен.

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Вт июн 02, 2020 2:27 pm
Vovanesko
Сертификат выдан на *.snsz.ru
на весь домен
в моём случае DNS имя mch.snsz.ru привязано к внешнему IP адресу шлюза. Порты https не пробрасываются сейчас внутрь. Мне не нужна в данный момент web версия, только клиентская. Таким образом пытаясь попасть на https://mch.snsz.ru Вы попадаете на управление самим шлюзом с его, шлюза, самоподписанным сертификатом. И так внутренний web сервер чата по https не увидеть. Только по порту основному 2004 (плюс указанные выше порты) идёт проброс, для внешнего клиента на внутренний mychat сервер. И должен использоваться сертификат с сервера mychat. Где *.snsz.ru и установлен.

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Вт июн 02, 2020 2:45 pm
Алексей Пикуров
Хорошо. Но ваш Android-клиент пытается скачать изображение с https://mch.snsz.ru

И видит невалидный сертификат. Изображения и файлы в MyChat качаются только через http(s). Для win32-приложения валидный сертификат не обязателен, но, в случае с Android-версией, как вам уже ответил Георгий, это обязательно. Это не наша прихоть, а требование Google.

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Ср июн 03, 2020 10:38 am
Vovanesko
То есть без NAT https ничего сделать не получится с пересылкой файлов? Не выпускать же windows-сервер чата в интернет без шлюза, с внешним адресом.

Re: CertPathValidationException в Андроид-клиенте

СообщениеДобавлено: Ср июн 03, 2020 11:52 am
Алексей Пикуров
NAT-а обычно хватает "с головой". Никто наружу сервер чата не выставляет, конечно, порты мапят на роутере на внутренний хост.