从.p12文件中提取客户端证书和私钥

Bha*_*rat 4 c openssl ssl-certificate pkcs#12

任何人都可以告诉我如何使用

PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); 

int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, STACK_OF(X509) **ca); 
Run Code Online (Sandbox Code Playgroud)

任何文件参考也将起作用.

caf*_*caf 6

没有错误检查:

FILE *p12_file;
PKCS12 *p12_cert = NULL;
EVP_PKEY *pkey;
X509 *x509_cert;
STACK_OF(X509) *additional_certs = NULL;

p12_file = fopen("foo.p12", "rb");
d2i_PKCS12_fp(p12_file, &p12_cert);
fclose(p12_file);

PKCS12_parse(p12_cert, "password", &pkey, &x509_cert, &additional_certs);
Run Code Online (Sandbox Code Playgroud)

私钥现在在pkey,证书x509_cert和其中的任何其他证书additional_certs.