Все самое интересное в мире iOS разработки 🧑🏻💻
Предложить статью или новость: @EasySwiftBot
По всем вопросам обращаться к @itereznikov
Post #819
312
TLS certificate validation on iOS
ℹ️ Если вы не знаете, что такое
⚙️ Разбор цепочки сертификатов и практические шаги. Сертификат сервера обычно подписан промежуточным центром, а тот - корневым; часто проблема - отсутствующий промежуточный сертификат на сервере. Статья показывает, как инспектировать цепочку через
При проблемах:
➡️ Проверьте
➡️ не забудьте про пиннинг и кастомную логику доверия - они изменяют поведение приложения и могут стать причиной разрыва связи.
✏️ Простая последовательность действий: получить цепочку через openssl, зафиксировать
anchor и сверить с
ℹ️ Если вы не знаете, что такое
TLS и проверка сертификатов - не страшно: iOS почти всегда делает это за вас. Статья объясняет, какие проверки выполняет система при подключении по HTTPS: совпадение с хостом, срок действия, возможность использования для серверной аутентификации, подписи в цепочке и достижение корневого сертификата из Root Store Apple. Отдельно отмечены требования Certificate Transparency и то, что URLSession использует встроенную проверку, пока вы явно не добавите собственную обработку доверия.⚙️ Разбор цепочки сертификатов и практические шаги. Сертификат сервера обычно подписан промежуточным центром, а тот - корневым; часто проблема - отсутствующий промежуточный сертификат на сервере. Статья показывает, как инспектировать цепочку через
openssl s_client и openssl x509, какие поля смотреть (SAN, даты, ключевые расширения, SHA‑256 отпечаток) и как читать вывод. Важный момент: успешная проверка в OpenSSL не гарантирует, что iOS того же набора корней и путей доверия - всегда сверяйте с Apple Root Store и тестируйте на целевых версиях iOS и на реальных устройствах.При проблемах:
➡️ Проверьте
SAN, сроки действия, наличие всех промежуточных, совместимость корневого с Root Store нужной версии iOS➡️ не забудьте про пиннинг и кастомную логику доверия - они изменяют поведение приложения и могут стать причиной разрыва связи.
✏️ Простая последовательность действий: получить цепочку через openssl, зафиксировать
subject/issuer, даты и отпечатки, найти возможный trust anchor и сверить с
Root Store, затем протестировать на чистой установке целевых iOS.- 👍 3











