使用openssl和C从* .pfx文件获取密钥和证书

时间:2012-05-22 11:55:39

标签: c openssl certificate key

我有这段代码:

int importKey(){

FILE *fp=NULL;
RSA *pkey=NULL;
R_RSA_PRIVATE_KEY prk; //special structure

fp = fopen("sslcert/key.pem", "r");

fseek(fp, 0, SEEK_SET);
PEM_read_RSAPrivateKey(fp, &pkey, NULL, NULL);

if (!pkey)
{
    fseek(fp, 0, SEEK_SET);
    d2i_RSAPrivateKey_fp(fp, &pkey);
}

prk.bits=BN_num_bits(pkey->n);
return pkey; //check if pkey==0 or something else
}

当我使用.pem将命令行创建的openssl -pkcs12 -in file.pfx -out key.pem文件提供给fp时,这很好用。但我需要的是在fp = fopen()中使用该pfx文件并以某种方式“提取”代码内的私钥并将其保存到该RSA * pkey中,并从同一pfx文件中提取证书并将其保存到X509 * px509变量中。对此有何帮助?

意思我实际上需要一些openssl函数来执行一些例程作为命令行命令

0 个答案:

没有答案