CNG Microsoft智能卡密钥存储提供程序AcquireContext

时间:2013-07-29 14:13:32

标签: c++ smartcard cng

我正在尝试使用以下方式获取Microsoft智能卡密钥存储提供程序:

CryptAcquireContext(&hProv, contName ,L"Microsoft Smart Card Key Storage Provider", PROV_RSA_FULL , flags);

但是,这失败并出现错误: NTE_KEYSET_NOT_DEF(0x80090019)

如果我使用:

CryptAcquireContext(&hProv, contName ,L" Microsoft Base Smart Card Crypto Provider", PROV_RSA_FULL , flags);

它有效。 但据我所知,基础智能卡提供商是CNG推出之前的提供商。

那么使用CNG KSP进行智能卡的正确供应商名称是什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

问题是您不使用CryptAcquireContext用于CNG提供程序。要打开CNG提供程序,请使用NCryptOpenStorageProvider。