无法导出RSA密钥容器文件

时间:2011-01-20 19:27:06

标签: asp.net security web-config rsa

我需要在我的开发机器(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容器已存在”。 alt text

即使以下命令也成功执行。

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

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

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

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

我还在“C:\ Document and Settings \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKey”文件夹中为ASPNET用户提供了读访问权限。 但没有任何效果。

我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

另外,在这个帖子中:

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

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

aspnet_regiis -pc“NetFrameworkConfigurationKey”-exp