【问题标题】:Creating an RSA Key container sometimes it works sometimes it does not创建一个 RSA 密钥容器有时会起作用,有时却不起作用
【发布时间】:2011-12-11 01:43:17
【问题描述】:

在过去的几天里,我一直被一个奇怪的问题所困扰。

尝试创建如下所示的 RSA 密钥容器时(从 cmd 管理窗口):

aspnet_regiis -pc "MyKeyContainer" -exp

我收到以下错误:

正在创建 RSA 密钥容器... 无法打开 RSA 密钥容器。 失败!

这似乎在某些服务器上运行良好,而在其他一些服务器上却失败了,对于我来说,我无法弄清楚为什么。

有人有什么想法吗?

【问题讨论】:

    标签: asp.net asp.net-mvc encryption aspnet-regiis.exe


    【解决方案1】:

    我遇到了这个确切的问题并且能够解决它。为防止出现以下错误:

    “正在创建 RSA 密钥容器... RSA 密钥容器无法 打开。失败!”

    创建新密钥时的消息,您首先要在创建后机器密钥所在的以下目录设置权限:

    C:\文档和设置\所有用户\应用程序 数据\Microsoft\Crypto\RSA\MachineKeys

    这是从下面的命令行创建和存储机器密钥的目录。问题是,即使作为管理员,默认情况下您也可能无权创建和操作密钥。最简单的做法是允许机器的“管理员”组对该目录具有“修改”权限。

    右键单击“MachineKeys”目录并确保管理员组具有适当的访问权限。请参阅我写的以下关于此过程的全面帖子:Encrypting Configuration Sections In .NET

    另一个注意事项,即使产生了错误,技术上仍然会创建密钥,但处于无效状态。修复权限后,最好使用-pz 开关删除密钥,然后再次使用-pc 开关重新添加,确保不显示错误并获得成功! 消息。

    【讨论】:

      【解决方案2】:

      看看following blog post。似乎是权限问题。您也可以尝试以管理员身份运行此命令。

      【讨论】:

      • 我已经从管理员窗口运行了上述命令。您上面提到的博客条目没有多大帮助。您需要先创建容器,然后才能为其设置权限。当我尝试创建一个新容器时出现我的问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      相关资源
      最近更新 更多