1

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

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

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

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

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

4

2 回答 2

3

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

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

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

于 2020-09-05T16:57:58.500 回答
1

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

于 2013-11-19T10:57:04.533 回答