有时创建RSA密钥容器有时它不工作

时间:2011-10-19 15:53:15

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

在过去的几天里,我被一个奇怪的问题困惑了。

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

aspnet_regiis -pc“MyKeyContainer”-exp

我收到以下错误:

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

这似乎在某些服务器上工作正常并且在其他服务器中失败,对于我的生活我无法弄清楚原因。

任何人都有任何想法?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

我已经发生了这个确切的问题,并且能够解决它。为防止出现以下错误:

  

"创建RSA密钥容器...... RSA密钥容器不能   打开。失败"!

创建新密钥时出现

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

  

C:\ Documents and Settings \ All Users \ Application   数据\微软\加密\ RSA \ MachineKeys的

这是创建和存储下面命令行中的计算机密钥的目录。问题是,即使是管理员,您也可能无权创建和操作密钥。最简单的方法是允许管理员'机器组已经修改了#39;对此目录的权限。

右键点击' MachineKeys '目录并确保Administrators组具有适当的访问权限。请参阅我撰写的以下文章,该文章全面介绍了此过程:Encrypting Configuration Sections In .NET

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