iOS9, что на самом деле означает NSAppTransportSecurity в отношении трафика https?

iOS9 имеет новый параметр для info.plist, который называется NSAppTransportSecurity. До сих пор я не смог найти конфигурацию, которая позволила бы мне подключиться к моему веб-сервису https. В качестве обходного пути у меня есть следующая строка в моем списке:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

Я пытаюсь понять, что NSAppTransportSecurity на самом деле означает или делает. Я смотрю на эту техническую заметку Apple, и она не совсем понятна:

Все соединения, использующие API-интерфейсы NSURLConnection, CFURL или NSURLSession, используют поведение App Transport Security по умолчанию в приложениях, созданных для iOS 9.0 или более поздней версии и OS X 10.11 или более поздней версии. Соединения, которые не соответствуют требованиям, потерпят неудачу.

Является ли NSAppTransportSecurity просто средством защиты конфигурации, которое будет блокировать TLS менее 1.2, или оно действительно применяет какой-то особый вид безопасности транспорта к веб-соединениям?

  • Отключает ли использование NSAllowsArbitraryLoads отключение всех форм связи https?
  • ИЛИ сервер все еще устанавливает связь https/ssl/tls, кроме как без наблюдения Apple?
  • Применяется ли это требование ко всем приложениям, работающим на iOS9 или имеющим iOS9 в качестве минимальной цели развертывания?

1 ответ

Решение

Отказ от использования NSAllowsArbitraryLoads не приведет к отключению https. Это просто прекратит блокировать незащищенные соединения, такие как http и https с TLS менее 1.2

Вы должны справиться с этим во всех приложениях, которые работают на iOS9

Другие вопросы по тегам