Question

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).

Was it helpful?

Solution

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 */
}

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top