首页 > 解决方案 > 使用 C# RSACryptoServiceProvider 可以在容器中存储多个同名密钥

问题描述

我正在为我的 C# 考试而学习,目前正在浏览加密部分。在查看密钥存储部分时,它说您可以使用该CspParameters.KeyContainerName字段设置密钥存储的容器名称。我的问题是,由于该字段可以设置为任何字符串值,是什么阻止您将两个名称设置为相同?如果它确实阻止了这种情况,那么您如何通过尝试存储密钥来阻止某人使用它来检索公钥和私钥实例,直到他们被阻止这样做?

谢谢!

标签: c#encryptionrsa

解决方案


是什么阻止您将两个名称设置为相同?

没有什么。稍后使用相同的名称是加载命名键的方式。如果您存储到覆盖,则意味着您正在更换密钥(例如定期密钥滚动)。

您如何通过尝试存储密钥来阻止某人使用它来检索公钥和私钥实例,直到他们被阻止这样做?

如果您指的是人类,请使用不同的帐户,用户范围的键是不同的容器,即使名称相同。

如果您的意思是恶意软件,请不要担心,它只会枚举键......它不必在无限的字符串空间中钓鱼:)


推荐阅读