【发布时间】: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