Я хотел бы сделать запрос https с сервером, требующим аутентификацию сертификата клиента. Я заглянул в это Creating a SecCertificateRef for NSURLConnection Authentication Challenge. Он работал, как ожидалось.Возможно ли сгенерировать запрос подписи сертификата (.csr) с использованием инфраструктуры безопасности в ios?
Однако ему необходимо подготовить файл p12, который включает закрытый ключ. Он будет застрахован, так как ему нужен пароль для импорта файла p12 с помощью SecPKCS12Import()
.
Однако может быть другой вариант. Это ios-клиент должен сделать запрос подписи сертификата (.CSR) и позволить третьей стороне (это сервер) подписать его.
Для поиска я могу использовать SecKeyGeneratePair()
для генерации пары ключей. Но я не вижу API, который генерирует CSR.
Действительно ли это необходимо для того, чтобы добиться этого?
Кроме того, немного не по теме, как только ios-клиент каким-то образом вернет подписанный сертификат. Я могу использовать SecCertificateCreateWithData()
для извлечения SecCertificateRef()
. Однако, чтобы заполнить NSURLCredential
. Мне также нужен SecIdentityRef
, который поступает из файла p12, используя SecPKCS12Import()
. Как я могу восстановить SecIdentityRef
без SecPKCS12Import()
, но только файл сертификата, например crt
или der
?
В итоге я создаю 'OpenSSL' для создания CSR-файла. Чтобы получить 'SecIdentityRef' без p12-файла, я заглядываю в [this] (http://stackoverflow.com/questions/4241590/how-to-establish-a-secidentityref-in-an-iphone-keychain-without-a- p12) – Yeung