1)您好我想知道是否可以使用虚拟智能卡来存储我正在设计的应用程序的 RSA 密钥对。到目前为止,我只能找到有关登录方面的文档,但找不到仅适用于标准智能卡加密存储的文档。我尝试将旧版 CSPParameters 用于智能卡,但无济于事。下面的代码将执行,但操作系统将声明虚拟智能卡对此操作无效。
SecureString pwd;
char[] scPwd = { '1', '2', '3', '4', '5','6','7','8' };
fixed(char* pChars = scPwd)
{
pwd = new SecureString(pChars, scPwd.Length);
}
CspParameters csp =
new CspParameters(1,
"Microsoft Base Smart Card Crypto Provider",
"Codeproject_1",
new System.Security.AccessControl.CryptoKeySecurity(),
pwd);
RSACryptoServiceProvider rsaCsp = (new RSACryptoServiceProvider(4096,csp) { PersistKeyInCsp = true });
TestCard 的命令行测试:
tpmvscmgr.exe create /name test /pin default /adminkey random /generate
2)如果可能的话,用户密码是否可以公开并且不可导出的密钥仍然不可导出?