PEM_read_RSA_PUBKEY返回并中断应用程序

时间:2012-07-13 23:49:13

标签: c++ openssl rsa

我正在尝试使用RSA使用OpenSSL来加密某些内容。

RSA *rsaPubKey = RSA_new();
FILE *file;
file = fopen("PubKey.pem","r");

if(file){
    rsaPubKey = PEM_read_RSA_PUBKEY(file, &rsaPubKey ,NULL,NULL);
}
.......... //some stuff 
return 0

执行PEM_read_RSA_PUBKEY后,应用程序终止,没有错误。我不知道有什么不对!!

1 个答案:

答案 0 :(得分:0)

我在旧项目中使用了以下代码:

BIO *bioPub = BIO_new_file(pubkeyPath, "r");
RSA *pubkey = PEM_read_bio_PUBKEY(bioPub, NULL, NULL, NULL);
/* do some stuff */
RSA_free(pubkey);
BIO_free(bioPub);

您是否尝试过以下操作?

FILE *file = fopen("PubKey.pem","r");
RSA *rsaPubKey = PEM_read_RSA_PUBKEY(file, NULL, NULL, NULL);