На iOS я знаю, что мы можем оценить доверие с помощью SecTrustEvaluate(). Чтобы создать доверие, мы либо импортируем его из файла * .p12, либо создадим его с помощью массива сертификатов и набора политик.Хранение цепей сертификатов в цепочке ключей приложения
Я также знаю, что для надежного использования сервера, которому не доверяют по умолчанию, мы можем использовать SecTrustSetAnchorCertificates() для расширения списка корневых ЦС, используемых SecTrustEvaluate() для проверки сертификата сервера.
Теперь, как я могу гарантировать, что эти якорные сертификаты доступны при последующем запуске? Я могу хранить сертификаты, ключи и идентификаторы в цепочке ключей приложения, но не цепочку сертификатов. Даже если я сохраню все сертификаты в цепочке, как я узнаю, какие сертификаты будут использоваться в качестве якорных сертификатов?
Одним из решений, которое приходит на ум, является просто получение всех сертификатов из брелка и установка их в качестве якорных сертификатов. Другой метод может быть для всех цепочек сертификатов на диске как файлы * .p12 и загружать их один раз при каждом запуске приложения.