Всем привет!
Есть необходимость достать сертификат SecIdentity
типа для handleChallenge метода, когда сервер будет запрашивать авторизацию по сертификату (NSURLAuthenticationMethodClientCertificate
).
Я вижу тут два варианта:
- Получить список всех сертификатов, отобразить их на UI списком и по идентификатору уже выдернуть тот самый, на который кликнул пользователь.
- Держать сертификат в Documents директории и вытаскивать его оттуда. Но предварительно нужно загрузить данный сертификат (это самый крайний вариант чтобы через апиху выдергивать серт.)
Проблема заключается в том, что сертификат для каждого пользователя является уникальным. Сертификат автоматически накатывается на устройство, которое загнано в MDM систему. И, соответсвенно, нужно как-то выдернуть этот сертификат.
На просторах интернетов, я нашел такой вот метод SecItemCopyMatching
, на вход которому мы можем передать некий query в виде словаря. Но там обязаловка - указывать имя сертификата. У меня имени нет, к сожалению. Но точно уверен, что identity сертификат один. Как выдернуть из keychain’а сертификат?