当打开来自不同令牌的密钥时,CNG NTE_BAD_KEYSET(0x80090016)

时间:2018-08-31 13:08:05

标签: cng


我处于密钥k1(“ b6b99fb4-01 ...”)和k2(“ d861b2a8-c5 ...”)属于令牌T1,而密钥k3(“ p11#4e03 ...”)属于T2的情况。我的问题是,每当我打开给定令牌上的密钥,然后再打开另一个令牌上的密钥时,都会收到NTE_BAD_KEYSET错误消息。
k1> k2> k3-错误
k3> k2-错误

我可以在一个令牌上最多打开9个键,而不会出现任何问题。

NCRYPT_KEY_HANDLE k3;
if ((st = NCryptOpenKey(pProvider, &k3, L"p11#4e03e03341f2f35e", 0, 0)) != ERROR_SUCCESS) 
{
   throw exception("Open key failed !");
}
NCRYPT_KEY_HANDLE k1;
if ((st = NCryptOpenKey(pProvider, &k1, L"b6b99fb4-01c4-fa18-83db-0e2bb1c80476", 0, 0)) != ERROR_SUCCESS)
{
    throw exception("Open key failed !");
}
NCRYPT_KEY_HANDLE k2;
if ((st = NCryptOpenKey(pProvider, &k2, L"d861b2a8-c5fc-1327-af01-518731bd4e0b", 0, 0)) != ERROR_SUCCESS) 
{
    throw exception("Open key failed !");
}

我做错了什么?

谢谢您的时间。

0 个答案:

没有答案