c# - 使用 C# RSACryptoServiceProvider 可以在容器中存储多个同名密钥
问题描述
我正在为我的 C# 考试而学习,目前正在浏览加密部分。在查看密钥存储部分时,它说您可以使用该CspParameters.KeyContainerName
字段设置密钥存储的容器名称。我的问题是,由于该字段可以设置为任何字符串值,是什么阻止您将两个名称设置为相同?如果它确实阻止了这种情况,那么您如何通过尝试存储密钥来阻止某人使用它来检索公钥和私钥实例,直到他们被阻止这样做?
谢谢!
解决方案
是什么阻止您将两个名称设置为相同?
没有什么。稍后使用相同的名称是加载命名键的方式。如果您存储到覆盖,则意味着您正在更换密钥(例如定期密钥滚动)。
您如何通过尝试存储密钥来阻止某人使用它来检索公钥和私钥实例,直到他们被阻止这样做?
如果您指的是人类,请使用不同的帐户,用户范围的键是不同的容器,即使名称相同。
如果您的意思是恶意软件,请不要担心,它只会枚举键......它不必在无限的字符串空间中钓鱼:)
推荐阅读
- sql - 由于缺少 GROUP BY 子句,为什么 Oracle 不抛出错误消息?
- function - 匿名类中的匿名类 - 函数名冲突
- atom-editor - Nautilus 不使用打开对话框打开应用程序
- python - 如何添加键绑定?
- javascript - 将点击事件绑定到 Backbone 视图的顶级标签
- python - Discord.py selfbot:发送后如何删除消息?
- sql-server - SQL Server 事务日志备份大于完整备份
- amp-html - 如何使用 amp-iframe 进行地理定位?
- c++ - 我需要使用内联关键字吗?
- python - mysql 每个 id/name 返回 1 行