Я пишу приложение, которое использует функции SSL NSStream на iphone. Я знаю, что SSL работает, потому что я могу напрямую подключать серверы с помощью SSL.
Я столкнулся с проблемой, когда протоколы, использующие starttls, требуют, чтобы я взаимодействовал через сокет с незащищенным, отправлял команду starttls, а затем повторно использовал тот же сокет для SSL. . Насколько я знаю, соединения nsstream нельзя использовать повторно, и я не могу запустить SSL на них после того, как открыл соединение.
Я подумал о создании собственного сокета, обмене данными с ним вручную, а затем настройке NSstream с использованием существующего сокета и запуске SSL таким образом. Однако, похоже, что общение в сокете переводит его в состояние, когда я не могу запустить на нем SSL. Любая попытка использовать сокет для nsstream приводит к ошибке.
Есть предположения?