I know there is SecPKCS12Import API to import(parse) PKCS12.

How to create PKCS12 from SecIdentityRef + SecCertificateRef?

I am looking for a way to use native API (Secure framework) rather than integrating OpenSSL (or other 3rd party library).

有帮助吗?

解决方案

You're looking for SecItemExport.

CFDataRef exportedData;
OSStatus ret = SecItemExport(arrayWithIdentityAndCert,
                             kSecFormatPKCS12,
                             0, /* Use kSecItemPemArmour to add PEM armor */
                             NULL,
                             &exportedData);

if(ret == errSecSuccess)
{
  /* exportedData now contains your PKCS12 data */
}

其他提示

Also, there is API SecKeychainItemExport, which is used internally by SecItemExport.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top