【问题标题】:Unable to export RSA Key container file无法导出 RSA 密钥容器文件
【发布时间】:2011-06-12 16:50:20
【问题描述】:

我需要在我的开发机器 (Windows XP SP-3) 上加密我的 web.config 文件并将 RSA 密钥导出到我的 QA 机器 (Windows Server 2003)。我使用以下命令加密我的文件。

aspnet_regiis -pe "appSettings" -app "/VirtualDirectoryName" -prov "RsaProtectedConfigurationProvider"

然后我在 web.config 文件中添加了以下部分

<configProtectedData>

然后我创建了名为“SampleKeys”的 RSA 容器

Web.Config 被很好地加密,我可以在我的开发机器上使用这个文件。然而,我不得不打开“模拟”并使用我的 Windows 用户名和密码。

我需要将我的 RSA 密钥导出到 QA 服务器,以便我可以使用我的加密配置文件。 所以我正在尝试导出 RSA 密钥及其失败。我不明白原因,因为我正在遵循以下链接中提到的所有步骤; link text

当我尝试导出 RSA 容器时,我收到“找不到 RSA 容器”的错误消息。但是当我尝试再次使用相同的名称创建 RSA 容器时,我收到错误消息“RSA 容器已经存在”。

连下面的命令都执行成功了。

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"

但是我无法执行以下命令;

aspnet_regiis -pa "SampleKeys" "NT AUTHORITY\NETWORK SERVICE"

我得到了同样的错误,说“找不到 RSA 容器”。

我还授予 ASPNET 用户对“C:\Document and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKey”文件夹的读取权限。 但没有任何效果。

我错过了什么吗?

【问题讨论】:

标签: asp.net security web-config rsa


【解决方案1】:

找到答案了!创建导出密钥后,您始终需要引用“SampleKeys”-exp。

aspnet_regiis -pa "SampleKeys"-exp "NT AUTHORITY\NETWORK SERVICE"

【讨论】:

  • 我知道这是旧的,但我想纠正......这是错误的。您创建了一个名为“SampleKeys”-exp 的容器,因为 MSDN 文章中的示例不正确。 -exp 部分需要在名称和开关之间有一个空格,否则它会成为名称的一部分。
【解决方案2】:

请务必以管理员身份打开命令窗口。然后再试一次。

另外,在这个帖子中:

http://forums.asp.net/t/960412.aspx/1?RSA+Key+container+was+not+found+ERROR

使用此命令创建了一个默认容器:

aspnet_regiis -pc "NetFrameworkConfigurationKey" -exp

【讨论】:

    猜你喜欢
    • 2011-02-24
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    相关资源
    最近更新 更多