Здесь вы можете задать любые вопросы по MyChat, по работе программы, её настройке, лицензированию и т.д.
Аватара пользователя
Fortex
Сервер 8.6.6
Клиент 8.6.4
Подключение к серверу по HTTPS, используется сертификат выданный внутренним доменным центром сертификации, на андроид устройство корневой сертификат доменного ЦC импортирован.
При попытке передать файл в чате вылезает вот такая ошибка:
Ошибка 235 "Не доверенный сертификат для сервера %s"
Раньше, вроде, не было.
На компьютерах все норм.
Аватара пользователя
Георгий Лысенко
Здравствуйте.
Напишите мне на h.lysenko@nsoft-s.com данные вашего сервера, проверю подключение под отладчиком.
Аватара пользователя
Dark
Та же проблема, только сертификат wild, приобретенный у digicert. В клиентах поведение как описано выше, плюс в админке вижу, что сертификат недействителен (но это не так)
Вложения
Снимок экрана 2021-05-25 093805.png
Снимок экрана 2021-05-25 093805.png (46.51 КБ) Просмотров: 174
Снимок экрана 2021-05-25 094817.png
Снимок экрана 2021-05-25 094817.png (38.87 КБ) Просмотров: 174
Аватара пользователя
Андрей Раков
Добрый день.

Если у вас домен 3-го уровня, то вам нужно добавить root сертификат.
Аватара пользователя
Dark
Да, добавление корневого сертификата помогло. Спасибо
Аватара пользователя
Алексей Пикуров
Ок, спасибо за ответ, переносим тему в решённые вопросы.
Аватара пользователя
Fortex
К сожалению, ошибка остается.
Рутовый сертификат добавлен на сервер чата (файл .crt), а так же импортирован на устройство Андроид. Ошибка при загрузке файлов та же.
Аватара пользователя
Fortex
Единственное, у нас еще есть промежуточный центр сертификации и сертификат серверу чата выдан им, а ему выдан рутовым. Может чату не нравится промежуточный центр сертификации?!
Хотя это нормальная практика - промежуточные центры сертификации.
Аватара пользователя
Георгий Лысенко
Покажите скриншот из настроек WEB-сервисов, а также скриншот с проверкой подключения к нашему серверу.
Аватара пользователя
Fortex
В интернет сервер не смотрит. Все клиенты в локальной сети.
Вложения
test.png
test.png (91.56 КБ) Просмотров: 128
web-serv.png
web-serv.png (93.5 КБ) Просмотров: 128
Аватара пользователя
Fortex
Решение проблемы возможно? Может нужно предоставить какие-то протоколы с андроид-клиента?
У нас домен 3го уровня.
Аватара пользователя
Георгий Лысенко
Зайдите в админке в веб-сервисы, произойдет попытка проверки сертификатов, затем откройте Инструменты - Просмотр протоколов - NodeJS протоколы и покажите лог за сегодня.

Также проверьте, открывается ли на мобильном админка через браузер.
Аватара пользователя
Андрей Раков
Откройте админку не по IP, а по домену, который вы указали на сервере.
Аватара пользователя
Fortex
В протоколе NodeJs есть такая строка:
Код: Выделить всё
chat.***.**:8080: unable to verify the first certificate

Понимаю что в этом может быть проблема, но не понимаю, что ему не нравится. На сервере есть этот корневой сертификат и сертификат домена для него является доверенным.

На мобильном админка через браузер открывается, определяется как защищенное соединение (сертификат доверенный)

Откройте админку не по IP, а по домену, который вы указали на сервере.


Вот это не понял зачем, у нас все работает на основе доменных имен.
Для ИП естественно сертификат будет не доверенным, так как он для него не выдавался.
Аватара пользователя
Алексей Пикуров
Сертификат всегда выдаётся для домена, а не для IP. Сделайте то, о чём вас попросил Андрей.
Аватара пользователя
Андрей Раков
Выполните проверку сертификата еще таким образом:
Код: Выделить всё
openssl s_client -showcerts  -connect example.com:443  -servername example.com
Аватара пользователя
Fortex
Сертификат всегда выдаётся для домена, а не для IP. Сделайте то, о чём вас попросил Андрей.

Сертификаты так же успешно выдаются и для IP-адресов. (тоже можем перевыпустить, добавив IP в SAN, если выяснится, что чат без этого работать полноценно не сможет)
Хорошо, я открыл админку по ИП, дальше что? Она открылась, у нее не доверенный сертификат, что ожидаемо...

./openssl.exe s_client -showcerts -connect chat.**.**:8080 -servername chat.**.**

К сожалению, та же ошибка
Код: Выделить всё
Verify return code: 21 (unable to verify the first certificate)
Аватара пользователя
Алексей Пикуров
Погуглите, почему вы получаете такую ошибку и что у вас настроено неправильно.

https://stackoverflow.com/questions/758 ... perian-url
Аватара пользователя
Fortex
Спасибо. Гуглить я умею, эта ссылка уже была прочитана, но результата пока не дала.
Аватара пользователя
Fortex
Все, разобрался. Ему было не достаточно root.crt, так как у нас есть еще промежуточный центр сертификации ему нужен именно бандл.
Причем виндовый бандл (который дает загрузить цент сертификации) чат-сервер хоть принимает, но не воспринимает.
Помогла конвертация виндового p7b бандла в crt-bundle через OpenSSL.
Код: Выделить всё
openssl pkcs7 -print_certs -in old.p7b -out new.crt


Теперь файлы отправляются.
Аватара пользователя
Андрей Раков
Отлично!

На всякий случай оставлю это здесь :)
chrome_1pA4TGy4kZ.png
chrome_1pA4TGy4kZ.png (26.58 КБ) Просмотров: 92