Как включить проверку прозрачности сертификатов для всех доменов в конфигурации iOS ATS?
По умолчанию iOS не обеспечивает прозрачность сертификатов для соединений HTTPS.
Начиная с iOS 10, Apple представила новый ключ конфигурации ATS, NSRequiresCertificateTransparency. По умолчанию это НЕТ, и если разработчик хочет включить проверки CT, он может включить его в ДА. Однако этот ключ присутствует на уровне "NSExceptionDomains" и применяется только к определенным доменам, указанным в качестве доменов исключений.
Есть ли способ заставить ОС принудительно выполнять проверки CT для ВСЕХ доменов, не перечисляя каждый из них вручную в качестве доменов исключений (и, таким образом, забывая некоторые из них)?
1 ответ
Это не то, что можно сделать прямо сейчас. Учитывая историю Apple с этими ключами, я думаю, что в настоящее время этот параметр по умолчанию установлен на NO для всех доменов, потому что многие домены в настоящее время не поддерживают его.
Мое предположение (с моей точки зрения на данном этапе является чисто предположением) состоит в том, что по мере роста поддержки на стороне сервера Apple может добавить поддержку для всех URL-адресов, за исключением того, что изменение будет осуществляться только для URL-адресов, которые не поддерживают прозрачность сертификатов.
На данный момент, это в первую очередь предназначено для проверки того, что сертификаты ваших основных серверов не скомпрометированы. Я бы просто добавил ваши известные серверы, которые его поддерживают, и включил бы их в NSExceptionDomains
список. Тем не менее, я видел, что у некоторых людей были проблемы на устройствах iOS 9 с NSExceptionDomains
записи, которые содержат только прозрачность сертификата (которая не была распознана в iOS 9). Убедитесь, что вы поддерживаете iOS 9, которую вы тестируете после внесения этих изменений.