3

私はこのコードを持っています:

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を使用してコマンドラインから作成したファイルをfpに渡すと、これはうまく機能しますopenssl -pkcs12 -in file.pfx -out key.pem。しかし、私が必要としているのは、その pfx ファイルを使用してfp = fopen()コード内の秘密鍵を何らかの方法で「抽出」し、それをその RSA *pkey に保存し、同じ pfx ファイルから証明書を抽出して X509 *px509 変数に保存することです。それについて何か助けはありますか?

つまり、そのコマンドラインコマンドとしていくつかのルーチンを実行するには、実際にはいくつかのopenssl関数が必要です

4

0 に答える 0