首页 新闻 会员 周边

RSA_private_decrypt(rsa_len, str, decrypted, rsa2,RSA_PKCS1_PADDING);解密失败 ,不知道为什么

0
悬赏园豆:10 [待解决问题]

返回值是-1,其中rsa_len=128,str有值,但是decrypted=“”,空字符串,有人知道为什么吗,需要什么就说,我在线等,豆子不多,见谅

问题补充:

打印的错误信息RSA_private_decrypt:: No such file or directory

 

#define PRIKEY "./prikey.pem"
char *decrypted=NULL;
char *my_decrypt(unsigned char *str, char *prikey_path)
{
OpenSSL_add_all_algorithms();//有些算法必须这样初始化。
//打开私钥文件
FILE* priv_fp=fopen(PRIKEY,"r");
if(priv_fp==NULL){
printf("failed to open PRIKEY file %s!\n", PRIKEY);
return NULL;
}
// 从文件中读取私钥
RSA *rsa2 = PEM_read_RSAPrivateKey(priv_fp, NULL, NULL, NULL);
if(rsa2==NULL){
printf("unable to read private key!\n");
return NULL;
}
// 用私钥解密
int rsa_len = RSA_size(rsa2);
printf("rsa_len: %d\n", rsa_len);
//char *decrypted=NULL;
decrypted = (char *)malloc(1024);
memset(decrypted, 0, 1024);
printf("strlen(str): %d\n", strlen(str));
int len=RSA_private_decrypt(rsa_len, str, decrypted, rsa2,RSA_PKCS1_PADDING);// RSA_NO_PADDING
if(len==-1){
perror("RSA_private_decrypt:");
return NULL;
}
fclose(priv_fp);
return decrypted;
}

life清者自清的主页 life清者自清 | 初学一级 | 园豆:76
提问于:2016-10-16 18:08
< >
分享
所有回答(1)
0

没有秘钥文件吧

2012 | 园豆:21230 (高人七级) | 2016-10-16 20:29

z终于来人了,有的,代码我补充上了,您在看看

支持(0) 反对(0) life清者自清 | 园豆:76 (初学一级) | 2016-10-16 21:05

@life清者自清: http://www.cnblogs.com/cswuyg/p/3187462.html 这里有人试过,是否其他的参数有问题

支持(0) 反对(0) 2012 | 园豆:21230 (高人七级) | 2016-10-17 08:25

@2012: 木有啊,有可能数据有错误么

支持(0) 反对(0) life清者自清 | 园豆:76 (初学一级) | 2016-10-17 09:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册