读RSA私钥文件不成功

剑影 2009-06-14 05:02:42
相关代码:


//...

RSA *rsaK;
BIO *BP ;

char FileName[256],PSW[80];

//...

PEM_write_bio_RSAPrivateKey(BP,rsaK,EVP_des_ede3_cbc(),NULL,0,NULL,NULL);//私钥文件是这个函数写的

//...
//下面的读取不成功
cout<<"请输入要读取的私钥文件名"<<endl;
cin>>FileName;
BP=BIO_new(BIO_s_file());
BIO_read_filename(BP,FileName);

cout<<"请输入加密私钥文件的密钥"<<endl;
cin>>PSW;

rsaK=PEM_read_bio_RSAPrivateKey(BP,NULL,NULL,PSW);

if(rsaK==NULL){//出错地方,rsaK==NULL恒成立- -!
cout<<"Error Occured - -!"<<endl;
BIO_free(BP);
RSA_free(rsaK);
return -1;
}

...

...全文
157 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
剑影 2009-06-16
  • 打赏
  • 举报
回复
- -!!

问题解决^_^
感激涕零..

DARK_ASSASSIN 2009-06-15
  • 打赏
  • 举报
回复
唉,你发了这么多帖,我就直接COPY了
你的代码里少了一句:
OpenSSL_add_all_algorithms();//加载各种加解密算法
剑影 2009-06-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Loaden 的回复:]
PEM_read_bio_RSAPrivateKey的参数是否有问题呢?
是否有相应的错误检测机制呢?
[/Quote]

参数应该没问题,如果私钥没有加密的话,将PSW换成NULL能够读取成功
老邓 2009-06-14
  • 打赏
  • 举报
回复
PEM_read_bio_RSAPrivateKey的参数是否有问题呢?
是否有相应的错误检测机制呢?

64,686

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧