我最近开始摆弄CNG来管理我们应用程序中的智能卡,还有一些不为人知的问题:如何将密钥导入给定的智能卡?在我看来,KSP只是在它看到的第一张卡上创建了密钥。
这是我做的:
现在,当我调用NCryptCreatePersistedKey时,新密钥在第二张卡上生成。没有任何弹出窗口询问我想要创建此密钥的卡。
我做错了什么 ?
非常感谢你的时间。
尝试在NCryptCreatePersistedKey中明确设置智能卡读卡器:
NCryptCreatePersistedKey(hProv, phKey, L"alg_id", L"\\\\.\\SmartCard Reader 0\\KeyName", 0, 0);