У меня есть приложение iOS, работающее на устройстве iOS 13.3 (iPhone XR), которое запускает локальный сервер веб-сокетов, прослушивающий 127.0.0.1:9002 внутри моего приложения с использованием транспортных служб Swift NIO.
У меня есть самозаверяющий сертификат, который я использую для настройки параметров TLS в Swift NIO. Этот сертификат соответствует требованиям, указанным Apple здесь: Требования к доверенным сертификатам в iOS 13 и macOS 10.15 . Root CA явно доверен на моем устройстве и отвечает также требованиям.
Внутри моего приложения я загружаю WKWebView, который отображает веб-сайт: https://www.websocket.org/echo.html.
Когда я пытаюсь подключиться к: wss: //127.0.0.1: 9002, я всегда получаю одну и ту же ошибку:
Ошибка сети WebSocket: Операция не может быть завершена. (Ошибка OSStatus -9807.)
Что в структуре безопасности означает:
errSSLXCertChainInvalid
Я хотел бы указать что все работает нормально, когда я пытаюсь выполнить те же действия без TLS.
Есть идеи, что я делаю не так с моими сертификатами? Я борюсь с этим с пару дней. Спасибо.