首页 > 其他 > 详细

调用CryptAcquireContext错误:8009000B

时间:2016-03-19 20:58:43      阅读:523      评论:0      收藏:0      [点我收藏+]

自己写的程序之前运行的好好的,现在突然运行不了,经过调试分析,错误锁定在CryptAcquireContext函数,程序如下:

if ( !CryptAcquireContext( &hCryptProv, TEXT( "asdfghj.EncryptDecrypt" ), NULL, PROV_RSA_FULL, 0 )) 
{

        if ( !CryptAcquireContext( &hCryptProv, TEXT( "asdfghj.EncryptDecrypt" ), NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET )) 
        {
                break;
        }
}

当程序执行完 CryptAcquireContext( &hCryptProv, TEXT( "phantom.EncryptDecrypt" ), NULL, PROV_RSA_FULL, 0 ) 后出现了8009000B错误,网上查解决方法也没有找到,于是换了台机器试试,发现程序运行成功,结合之前网上查的说此函数跟C:\Users\xxx\AppData\Roaming\Microsoft\Crypto\RSA\ 下的文件有关,于是查看此目录发现生成了新文件48297cfb00d65bf63a17c282c61c6302_3ad499d0-f20f-47e6-8edc-b3d51afc16ca,打开文件发现文件中包含我们的"asdfghj.EncryptDecrypt"字符串,于是猜测之前机器运行不成功也许跟此文件有关系,于是回到原机器到RSA目录,也发现了48297cfb00d65bf63a17c282c61c6302_3ad499d0-f20f-47e6-8edc-b3d51afc16ca文件,把这个文件删了,然后运行程序,程序正常运行了!具体原因尚不清楚,有知道的告诉我下!

调用CryptAcquireContext错误:8009000B

原文:http://www.cnblogs.com/royhawk/p/5296127.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!