3

我正在使用RSACryptoServiceProvider生成公钥/私钥对并使用cspParameters对象将其存储在密钥容器中。

我的问题是,在我将私钥存储在密钥容器中之后,另一个应用程序可以访问密钥容器并检索我生成的私钥吗?

如果是,那么密钥的安全性会受到损害,不是吗?

我该如何避免这种情况?我应该使用对称加密算法加密生成的私钥吗?

4

1 回答 1

3

在不使用硬件安全模块的情况下,您唯一的保护是设置 CspParameters.Flags 字段:

CspParameters.Flags = CspProviderFlags.UseNonExportableKey |  CspProviderFlags.UseUserProtectedKey;

第一个标志阻止软件“诚实地”导出私钥。第二个需要用户与 GUI 交互来执行任何私钥操作。

于 2010-07-23T19:47:11.690 回答