【问题标题】:PEM_read_RSA_PUBKEY returns and breaks the appPEM_read_RSA_PUBKEY 返回并破坏应用程序
【发布时间】:2012-07-13 23:49:12
【问题描述】:

我正在尝试使用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 后,应用程序将终止且没有错误。不知道怎么回事!!

【问题讨论】:

  • 尝试分配给 rsaPubKey 0 而不是 RSA_new()。
  • 您确定应用程序在 PEM_read_RSA_PUBKEY 中/之后立即终止?
  • 当然是终止了,那就是你的程序结束了!
  • 不,哈哈,后面还有一些东西!!!

标签: c++ openssl rsa


【解决方案1】:

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

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    相关资源
    最近更新 更多