Отличный вопрос!Если бы я занимался этим кодированием, я сначала попытался бы найти решение с использованием Keychain Services.
Во-первых, вам нужно получить элемент цепочки для ключей.Скажем, через `SecItemCopyMatching () '.
Возвращает ссылку на найденные элементы.Предпочтительно SecCertificateRef
(что более подробно описано в руководстве Apple Keychain Services Reference ).
Я не вижу простого способа явного извлечения метаданных (или даты истечения срока действия)от SecCertificateRef
с макушки головы. Фрагмент кода, который я нашел на books.google.com из раздела «Программирование в IOS 5: ограничение возможностей: разработка необычных мобильных приложений», который называется «Проверка действительности сертификата» (стр. 218 и 219 - я связал его)для вас), который в основном проверяет, позволяет ли сертификат использовать его на основе соответствующих ключей (в их примере это имя субъекта или домена; для вас это будет дата истечения срока действия).Их техника может вам помочь.
Что касается использования OpenSSL, Я нашел ответ, в котором вы можете найти дату окончания срока действия из командной строки, используя инструмент openssl .Если вы можете получить дескриптор вашего сертификата, я уверен, что это может быть сделано и программно.