iOS NSURLErrorDomain Code = -1200 «Произошла ошибка SSL, и безопасное соединение с сервером невозможно установить». - PullRequest
2 голосов
/ 13 июля 2020

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

NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made."

Поскольку мы используем службу AWS, я предполагаю, что с сертификатом SSL все в порядке, потому что это происходит с небольшим (но не достаточно маленькая) часть пользователей должна сказать, что сертификат SSL в порядке.

В любом другом сообщении, которое я видел об этой проблеме, предлагалось добавить флаг к App Transport Security Settings в файле info.plist, который позволит незащищенное соединение. Это не то, что я могу (или хочу) делать.

Спасибо за помощь :)

Ответы [ 2 ]

0 голосов
/ 13 июля 2020
  • Это может произойти, если вы используете VPN.
  • Но также произойдет, если вы используете прокси-инструмент, такой как Charles Proxy, но не установили / доверял сертификату Charles Proxy.
  • Это также случилось со мной, когда я был в сети publi c Wi-Fi. Казалось, что каким-то образом publi c wifi делал своего рода MITM, чтобы, возможно, добавить какую-то рекламу. У меня не было такой проблемы, когда я использовал LTE или не-publi c wifi
0 голосов
/ 13 июля 2020

Я нашел это решение на форумах разработчиков Apple, которое не связано с изменением App Transport Security Settings:

И вам не нужно исключение ATS в вашем сценарии. Я рекомендую следующий подход:

  • Настройте собственный центр сертификации (CA) в вашей организации (во многих организациях он уже есть).

  • Попросите его выдать сертификат для вашего частного сервера.

  • Используйте MDM для установки сертификата root центра сертификации вашей организации.

...