openssl中关于RSA加密的灵异有关问题
发布时间:2011-07-03 07:09:58 文章来源:www.iduyao.cn 采编人员:星星草
openssl中关于RSA加密的灵异问题
//取得公钥:
FILE *fpubkey = NULL;
fpubkey = fopen(PUBLIC_KEY_FILE, "rb");//已存在的密钥
if(fpubkey == NULL)
{
return -1;
}
fseek(fpubkey, 0, SEEK_END);
int len_PK = ftell(fpubkey);
fseek(fpubkey, 0, SEEK_SET);
ucPubKey = new unsigned char[len_PK];
fread(ucPubKey, 1, len_PK, fpubkey);
fclose(fpubkey);
RSA *pRsa = NULL;
pRsa = RSA_new();
const unsigned char *Pt = ucPubKey;
pRsa = d2i_RSAPublicKey(&pRsa, &Pt, len_PK);//出错 pRsa 为NULL
if(pRsa == NULL)
{
return -2;
}
encrypted_len = RSA_public_encrypt(KLENGTH, m_byKey, ucEncryptedKey, pRsa, 1);
为什么会这样的呢?pRsa = d2i_RSAPublicKey(&pRsa, &Pt, len_PK);//出错 pRsa 为NULL??
请各位指教下啊,谢谢啊,这个是调用win下编译好的openssl做成的。
------解决方案--------------------
d2i_RSAPublicKey 要求第二参数为ASN1编码,der格式
试了下可以
用pem格式的文件读取后,执行到你处为NULL。
虽然为der格式文件,但公钥前还含有其他数据,即d2i_RSAPublicKey的第二参数指向的位置开始还含有其他数据时,一样也会执行失败返回NULL。
可以转一下只含公钥文件的格式,即转之前删除-----BEGIN PUBLIC KEY-----等
结帖率好低啊
------解决方案--------------------
fseek(fpubkey, 0, SEEK_END);
int len_PK = ftell(fpubkey);
fseek(fpubkey, 0, SEEK_SET); //这是从当前位置读的, 但此时的当前位置是END,应该从文件的BEGIN读。
ucPubKey = new unsigned char[len_PK];
fread(ucPubKey, 1, len_PK, fpubkey);
fclose(fpubkey);
对于1024BIT来说, 公钥数据的长度一般是140左右的字节。
------解决方案--------------------
------解决方案--------------------
d2i_RSAPublicKey
d2i der to internal 读入的即是DER编码的码流了
你读PEM文件的话肯定不行了
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
网络信息安全技术和网络安全技术有什么不同
请问:网络信息安全技术和网络安全技术有什么不同,如果自学网络信息安全技术/网络安全技...
-
请教一域名解析到多个共享IP
新买一个域名 17mf8.com
现有两个空间,里面分别放着一个论坛程序,一个主网站程序.两个空间都是共享I...
-
刷客动力搜索引擎seo刷流量刷百度下拉列表刷广告软件的用法(配图)
先看官方的介绍:
刷客动力网络营销系统工具是由好耶网络(...
-
CryptAcquireContext和CPAcquireContext有什么区别?
最近在搞CSP的开发,一直用CryptAcquireContext这个函数获取句柄,后来看了一些资...
-
冰天雪地裸体腾空360° 跪玻璃 求一个收费的长期的稳定快速的VPN
冰天雪地裸体腾空360° 跪玻璃 求一个收费的长期的稳定...
-
全国大学生信息安全竞赛
我是一位大二的信息安全专业的学生,想参加明年的全国大学生信息安全竞赛,不过不知道选什么课题之类的,比较...
-
网址能ping通,但是打不开网页
今天遇到这么一个问题。
网页打不开,提示说“载入页面时到服务器的连接被重置”,也不知道是怎么回事,但...
-
对Nfsen和Nfdump比较熟的来指点我下
假如我想抓网络信息,用Nfdump将nfcapd抓的信息解析出来可以存入一个文本,然后在nfsen图形界面...
-
不装杀毒软件电脑会有多大的危险?
装了个卡巴斯基,结果用个word它都查杀,杀毒能力强,但这是宁可错杀一千,不能漏网一个的手段,感觉这软...
-
笔记本装了win7通过无线路由上网,虚拟机装了fedora。fedora 无法ping通win7
笔记本装了win7通过无线路由上网,虚拟机装了fedora。fe...