我有这段代码:
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函数来执行一些例程作为命令行命令