如何从智能卡中删除RSA密钥对

时间:2011-08-24 12:34:54

标签: c# .net

我关注Verify the Digital Signatures of XML Documents tutorial并遇到了麻烦。

现在我的智能卡包含三个额外的密钥值对,这些密钥值对是冗余的,我必须删除它们。

MSDN教程How to: Store Asymmetric Keys in a Key Container包含有关如何从容器中删除密钥的说明,但没有解释如何删除现有密钥。

当我重新启动包含以下代码的程序时:

// Create a new CspParameters object to specify
// a key container.
CspParameters cspParams = new CspParameters(1, "ActivClient Cryptographic Service Provider");
cspParams.Flags = CspProviderFlags.UseDefaultKeyContainer;

// Create a new RSA signing key and save it in the container. 
RSACryptoServiceProvider rsaKey = new RSACryptoServiceProvider(cspParams);
rsaKey.PersistKeyInCsp = false;

然后程序将响应以下错误:安全令牌没有可用于其他容器的存储空间

我是新手(智能卡),所以我完全迷失了。请帮忙。

1 个答案:

答案 0 :(得分:0)

那是因为你已经达到了卡可以托管的密钥容器的限制。可以通过查询卡微型驱动程序(如果存在)来获得最大密钥容器的数量。