什么是密钥容器,它位于何处?

时间:2013-06-05 16:14:04

标签: c# cryptography rsa

我正在阅读如何存储用于RSA加密的私钥,但我对于密钥容器到底是什么感到困惑?

例如,在我要部署的服务器上,是否存在从密钥容器保存和获取数据的任何信任级别?

它是否存储在服务器上的隐藏文件中?

如果我没有将私钥存储在我的web.config(或其加密版本)中,那么我想我必须首先使用测试页首先将其保存在容器中,以便我的运行应用程序可以正确吗?

参考: http://msdn.microsoft.com/en-us/library/5e9ft273(v=vs.71).aspx

2 个答案:

答案 0 :(得分:0)

RSA密钥容器只是用于存储私钥,公钥对的容器。当你创建一个密钥容器时,.Net实际上创建了一个用于加密数据的随机公钥和一个用于解密数据的私钥,并存储在容器中。

答案 1 :(得分:0)

尽管此线程有点旧。如果有人搜索密钥容器的“存储位置”,那么简短答案就在系统上。它是从C:\ ProgramData \ Microsoft \ Crypto开始的一系列文件夹。

根据所使用的密钥类型和访问级别(计算机或用户),它将被放置在其各自的文件夹中。

计算机意味着登录到系统的任何人都可以使用它,而用户意味着只有输入密钥的用户才能使用它。 这可以通过设置CspProviderFlags(RSACryptoServiceProvider.UseMachineKeyStore Property)和您可以使用的枚举(CspProviderFlags Enum)的“ UseMachineKeyStore”来实现。