我有这个代码:
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
. 但我需要的是使用该 pfx 文件fp = fopen()
并以某种方式在代码中“提取”私钥并将其保存到该 RSA *pkey 中,并从同一个 pfx 文件中提取证书并将其保存到 X509 *px509 变量中。有什么帮助吗?
这意味着我实际上需要一些 openssl 函数来执行一些例程作为该命令行命令