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 = (новый RSACryptoServiceProvider (4096, csp)
{
PersistKeyInCsp = true
});
Тест командной строки для TestCard:
tpmvscmgr.exe create /name test /pin default /adminkey random /generate
2) Если это возможно, может ли пользовательский пин быть общедоступным, а неэкспортируемые ключи по-прежнему не могут быть экспортируемыми?
Вы пытались открыть терминал как администратор, до выполнить команду для создания виртуальной смарт-карты?
Других решений пока нет …