CryptAcquireContext 0x80090016错误及其相关错误

CryptAcquireContext 0x80090016错误及其相关错误

将 if (!CryptAcquireContext(

         &hProv,

         NULL,

         NULL,

         PROV_RSA_FULL,

         0))

        {

             HandleError("Error during CryptAcquireContext!");

        }

修改为

      if (!CryptAcquireContext(

          &hProv,

          NULL,

          NULL,

          PROV_RSA_FULL,

          CRYPT_VERIFYCONTEXT))

          {

               HandleError("Error during CryptAcquireContext!");

           }

 即会创建一默认的容器

更多情况参照MSDN

 

引用内容 http://www.my1984.com.cn/article.asp?id=922

CryptAcquireContext 错误下面是最常见的错误代码和引起错误的可能原因。

NTE_BAD_KEYSET (0x80090016)

密钥容器不存在;

您无权访问密钥容器;

 "受保护的存储服务"没有运行。

NTE_EXISTS (0x8009000F) 密钥容器已存在,但您正在尝试创建它。

如果打开密钥的上次尝试以 NTE_BAD_KEYSET 失败,则意味着拒绝了对密钥容器的访问。

NTE_KEYSET_NOT_DEF (0x80090019) 加密服务提供程序 (CSP) 可能安装有误。

在 CSP DLL(Rsabase.dll 或 Rsaenh.dll)上使用 Regsvr32.exe 可能会更正此问题,这取决于正在使用的提供程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值