С сайта Apple, вот описание:
int PKCS12_parse(PKCS12 *p12, char *pass, EVP_PKEY **pkey, X509 **cert,
STACK **ca);
Этот функция принимает структуру PKCS12 и пароль (ASCII, завершенный нулем) и возвращает закрытый ключ, соответствующий сертификат и любые сертификаты CA . Если какой-либо из них не требуется, он может быть передан как NULL. Параметр «ca» должен быть либо NULL, либо указателем на NULL, либо действительной структурой STACK . Обычно для чтения в PKCS # 12 файл, который вы могли бы сделать:
p12 = d2i_PKCS12_fp(fp, NULL);
PKCS12_parse(p12, password, &pkey, &cert, NULL); /* CAs not wanted */
PKCS12_free(p12);
Когда я использую приведенный выше код, то происходит сбой при d2i_PKCS12_fp (p12_file, и p12_cert); получает исполнение. Может ли кто-нибудь сказать мне, почему это происходит? – Bharat
@bharat: Извините, 'p12_cert' также должен быть инициализирован' NULL' (см. Обновленный ответ). – caf
@caf: Я думаю, что он инициализирован NUll в строке # 02 – Bharat