我的 iOS 应用程序在运行时处理 x509 证书 + 密钥(DER 编码)。我能够成功地将它们导入钥匙串的唯一方法是使用 PKCS12 使用以下功能:SecPKCS12Import()
我一直在努力让它运行仅使用SecItemAdd()
. 我将该函数用于 DER 编码证书,并再次用于 DER 编码密钥。但即使调用成功返回,之后查询钥匙串也不会产生SecIdentityRef
.
所以我最终使用了 OpenSSL PKCS12 实现。我非常热衷于摆脱对 OpenSSL 的依赖。我一直在寻找 PKCS12 的替代实现。我发现的唯一替代库托管在苹果开源存储库中:
https ://opensource.apple.com/source/Security/Security-57031.10.10/Security/libsecurity_pkcs12/
尽管这是一个 OS X 项目,它(我想)对安全框架的其他模块有很多依赖。在我开始深入研究之前
我想知道:
- 我有机会在 iOS 上运行 libsecurity_pkcs12 吗?
- 或者更好:是否有任何我不知道的替代小型 PKCS12 库?
SecIdentityRef
甚至更好:有没有人在不使用 PKCS12的情况下将x509 + 密钥导入 iOS 钥匙串(之后产生一个)?