Создание PKCS12 во время выполнения на iOS без использования openssl
Мое приложение для iOS обрабатывает сертификаты x509 + ключи (в кодировке DER) во время выполнения. Единственный способ успешно импортировать их в цепочку для ключей - это использовать PKCS12 с помощью функции: SecPKCS12Import()
Я изо всех сил пытался запустить его, используя только SecItemAdd()
, Я использовал эту функцию для DER-кодированного сертификата и снова для DER-кодированного ключа. Но несмотря на то, что звонок вернулся с успехом, запрос цепочки для ключей впоследствии не привел к SecIdentityRef
,
В итоге я использовал реализацию OpenSSL PKCS12. Я очень хочу избавиться от своей зависимости от OpenSSL. Я искал тревожные реализации PKCS12. Единственная альтернативная библиотека, которую я нашел, была размещена в репо с открытым исходным кодом Apple:
https://opensource.apple.com/source/Security/Security-57031.10.10/Security/libsecurity_pkcs12/
Хотя это проект OS X, который имеет (я предполагаю) много зависимостей от других модулей инфраструктуры безопасности. Прежде чем я начну смотреть глубже в это
Я размышлял:
- Есть ли у меня шанс запустить libsecurity_pkcs12 на iOS?
- Или лучше: есть ли какая-нибудь альтернативная небольшая библиотека PKCS12, о которой я не знаю?
- Или еще лучше: кто-нибудь импортировал ключ x509 + в брелок для iOS (получая
SecIdentityRef
потом) без использования PKCS12?