Windows TPM虚拟智能卡RSA密钥存储

时间:2017-04-06 14:06:37

标签: c++ .net cryptography rsa tpm

1)您好我想知道是否可以使用虚拟智能卡存储我正在设计的应用程序的RSA密钥对。到目前为止,我只能找到Logon方面的文档,但只能找到标准智能卡加密存储的文档。我尝试使用传统的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)如果可以这样做,用户引脚是否可以公开,并且不可导出的密钥仍然不可导出?

1 个答案:

答案 0 :(得分:0)

在执行命令创建虚拟智能卡之前,您是否尝试以管理员身份打开终端