ОК, чтобы ответить на мой собственный вопрос:
В iOS связка ключей автоматически свяжет сертификат с закрытым ключом. Это означает, что вам нужно только:
- Генерация пары ключей
- Получить сертификат, соответствующий закрытому ключу
- Вставьте сертификат в связку ключей.
После этого вы сможете получить SecIdentityRef для сертификата / закрытого ключа.
ВАЖНО:
SecItemAdd Функция позволяет напрямую вставлять данные сертификата (NSData представления DER). Таким образом, вы сможете получить действительную ссылку на сертификат, но не идентификационный номер.
Правильный способ *1021* для вставки сертификата - это сначала использовать функцию SecCertificateCreateWithData над байтами DER сертификата. Это вернет объект SecCertificateRef , который затем следует использовать для сохранения сертификата в цепочке для ключей с помощью функции SecItemAdd .
Надеюсь, это облегчит кому-то жизнь; -)
С уважением,
Pece