Хранение цепочек сертификатов в цепочке ключей приложения - PullRequest
3 голосов
/ 11 января 2011

На iOS я знаю, что мы можем оценить доверие с SecTrustEvaluate ().Чтобы создать доверие, мы либо импортируем его из файла * .p12, либо создаем его, используя массив сертификатов и набор политик.

Я также знаю, что для того, чтобы гарантировать, что сервер, который не является доверенным по умолчанию, является доверенным, мы можем использовать SecTrustSetAnchorCertificates () для дополнения списка корневых CA, которые SecTrustEvaluate () использует для проверки сертификата сервера.

Теперь, как я могу обеспечить доступность этих сертификатов привязки при последующем запуске?Я могу хранить сертификаты, ключи и идентификационные данные в цепочке ключей приложения, но не в цепочке сертификатов.Даже если я храню все сертификаты в цепочке, как я узнаю, какие сертификаты должны использоваться в качестве якорных сертификатов?

Одно из решений, которое приходит на ум, - просто получить все сертификатыиз цепочки для ключей и установите их как сертификаты привязки.Другой способ может быть связан со всеми цепочками сертификатов на диске в виде файлов * .p12 и загружать их один раз при каждом запуске приложения.

1 Ответ

2 голосов
/ 04 апреля 2012

eskimo1 от Apple Devforums ответил на это так:

Во-первых, вам не нужно хранить сертификаты в цепочке для ключей.Вы можете хранить их в другом месте, если хотите (и создать SecCertificateRef с помощью SecCertificateCreateWithData).

Во-вторых, ваш вопрос касается файлов .p12, но я не уверен, что это имеет отношение к вещам.Как правило, вы используете только файл .p12 для распространения конфиденциальной информации, а сертификаты не являются конфиденциальными.

Наконец, вы можете сохранить цепочку сертификатов, просто сохранив постоянную ссылку на каждый сертификат в этой цепочке (или сохранивфактические данные каждого сертификата).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...