hur.cn - 华软网

 热门搜索

CryptoAPI 密钥问题

  作者:未知    来源:网络    更新时间:2010/6/4
如何使用CryptoAPI中函数导出公钥至txt文本文件中,然后在将该txt中的公钥导入程序中。
---华软 网友回答---
说白了都是操作byte[],MSDN肯定有很多例子。
---华软网友回复---
http://www.vckbase.com/document/viewdoc/?id=974
---华软网友回复---
谢谢2位,2楼的我已经看过这个了 我已经导出密钥到文本文件了,是先用cryptexportkey函数把密钥导出到一个分配的空间pbKeyBlob中,然后把这个pbKeyBlob写入到文本文件中。然后导入的时候先从文本文件中读入内容到pbKeyBlob中,然后在用cryptimportkey倒入到csp中,可是调用cryptimportkey返回值是 参数无效,不知道为什么。
---华软网友回复---
参数传对了吗
---华软网友回复---
返回值说参数无效,我把代码贴上先。
if(!CryptAcquireContext(&hProv,container,MS_ENHANCED_PROV,PROV_RSA_FULL,0))
{
if(!CryptAcquireContext(&hProv,container,MS_ENHANCED_PROV,PROV_RSA_FULL,CRYPT_NEWKEYSET))
{
       AfxMessageBox("CSP句柄无法获取,请重新启动程序");
       exit(1);
}
}
       CFile mFile;
       mFile.Open(FilePathName,CFile::modeRead);//FilePathName是存放密钥文件的路径
pbKeyBlob=(BYTE*)malloc(KEYLENGTH);
memset(pbKeyBlob,0,KEYLENGTH);
mFile.Read(pbKeyBlob,KEYLENGTH+1);
dwBlobLen=sizeof(pbKeyBlob);
if(CryptImportKey(hProv,pbKeyBlob,dwBlobLen,0,0,&hKey))
{
return hKey;
}
else
{
AfxMessageBox("导入失败");
return NULL;
}
---华软网友回复---
先自己对比一下导出前,以及写入文件时的key是否一致,还有读入时是否相同
---华软网友回复---
恩 我先对比下。。
---华软网友回复---
还是没解决问题  哪位高手写过将密钥导出到文件的例子 可否给个例子。谢啦。
---华软网友回复---
The CSP context that was specified when the hash object was created cannot be found.

这个错误是什么意思??
---华软网友回复---
好东西,最近我们导师正在让学生做基于cryptoapi的软件,谢谢你的资料

     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。