我在另一篇文章中读到这样的代码会导致 .NET 将 key 从创建它的机器保存到一个随 secret 钥存储区(大概在注册表中)。这是真的,在什么条件下它会持续还是不会持续?如果键是从字符串初始化的,持久性还会发生吗?

RSACryptoServiceProvider alg = new RSACryptoServiceProvider();

看来是真的?

http://blogs.msdn.com/b/winsdk/archive/2010/01/29/while-creating-cryptographic-keys-or-key-containers-repeatedly-your-hard-disk-may-get-filled-with-lots-of-files-and-may-end-up-filling-the-whole-hard-disk-space-if-not-deleted.aspx

---- 现在我不确定.. 当我在我的机器上调试时 PersistInCspContainer 设置为 false。

最佳答案

我认为困惑在于规范的这一部分:



在我看来,您必须提供 CspParameters 或将 PersistKeyInCsp 设置为 true 才能保留 key 。至少,我是这么读的,你的实验似乎很匹配。

它可能就像 PKCS#11 token ;默认情况下,键是 session 对象。

10-08 16:39