使用 CNG 在给定令牌上导入密钥

Import key on a given token with CNG

我最近开始尝试使用 CNG 来管理我们应用程序中的智能卡,但仍有一些问题尚不清楚: 如何将密钥导入 given 智能卡?在我看来,KSP 只是在它看到的第一张卡片上创建密钥。

这是我所做的:

现在,当我调用 NCryptCreatePersistedKey 时,新密钥已在第二张卡上生成。没有任何弹出窗口询问我要在哪张卡上创建此密钥。

我做错了什么?

非常感谢您的宝贵时间。

尝试在 NCryptCreatePersistedKey 中明确设置智能卡 reader:

NCryptCreatePersistedKey(hProv, phKey, L"alg_id", L"\\.\SmartCard Reader 0\KeyName", 0, 0);