使用ASPNET_REGIIS加密Web配置

时间:2011-12-01 16:03:30

标签: asp.net web-config

我需要加密网络配置的某些部分。在阅读了一些教程之后,我了解到使用ASPNET_REGIIS工具是可行的方法。 这就是我现在正在尝试的: 从命令提示符

ASPNET_REGIIS -pef "identity" "D:\IIS\admin.mySite.com"

“找不到配置部分'system.web \ identity'。”


ASPNET_REGIIS -pef "system.web\identity" "D:\IIS\admin.mySite.com"

“找不到配置部分'system.web \ identity'。”


ASPNET_REGIIS -pef "system.web/identity" "D:\IIS\admin.mySite.com"

“无法使用提供程序'RsaProtectedConfigurationProvider'加密部分'system.web / identity'来自提供程序的错误消息:对象已存在。”


要尝试看看我是否做得对,我尝试了以下内容:

ASPNET_REGIIS -pef "connectionStrings" "D:\IIS\admin.mySite.com"

“无法使用提供程序'RsaProtectedConfigurationProvider'加密部分'connectionStrings'来自提供程序的错误消息:对象已存在。”


ASPNET_REGIIS -pef "connectionStrings" "D:\IIS\admin.mySite.com"

“无法使用提供程序'RsaProtectedConfigurationProvider'加密部分'connectionStrings'来自提供程序的错误消息:对象已存在。”


ASPNET_REGIIS -pef "DoesNotExist" "D:\IIS\admin.mySite.com"

“找不到配置部分'DoesNotExist'。”


帮助!

6 个答案:

答案 0 :(得分:32)

我遇到了类似的问题,当我尝试使用提升的权限(“以管理员身份运行”)从命令提示符运行它时解决了问题。

答案 1 :(得分:6)

试试这个:

ASPNET_REGIIS -pef "system.web/identity" "D:\IIS\admin.mySite.com"

如果您尝试加密的部分不在configuration元素的正下方,则需要提供完整路径。

答案 2 :(得分:3)

当aspnet_regiis以无法读取RSA密钥容器的用户身份运行时,会出现“找不到对象”错误消息。

密钥保存在“C:\ Documents and Settings \ All Users \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys”中。默认密钥容器名为“NetFrameworkConfigurationKey”。确保您拥有此密钥容器的读取权限。

请注意,您需要授予对运行应用程序的身份的读取权限。最简单的方法是通过aspnet_regiis工具:aspnet_regiis -pa“NetFrameworkConfigurationKey”“Yourdomain \ username”。

答案 3 :(得分:3)

1-以管理员身份运行cmd 2-转到aspnet_regiis.exe命令行文件夹

3 - 加密:  aspnet_regiis.exe -pef" connectionStrings" " C:.. \ YourApplication" -prov" DataProtectionConfigurationProvider

4-Decrypt:  aspnet_regiis.exe -pdf " connectionStrings" " C:.. \ YourApplication"

答案 4 :(得分:1)

我很高兴看到这篇文章,我想确认如何加密连接字符串以及如何使用ASPNET_REGIIS工具解密它:

加密:

aspnet_regiis.exe -pef "connectionStrings" "D:\ProjectAcc"

解密:

aspnet_regiis.exe -pdf "connectionStrings" "D:\ProjectAcc"

N.B:

  • 当我进行此操作时,我发现了一些我想通知它的问题:

1)首先提交加密操作,因为我没有通过运行以下命令将ASP.NET运行时安装到IIS:

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -i

2)当我处理第一个问题时,我得到了另一个愚蠢的:),这是我每次安装它时都会遇到这个错误:

发生错误:0x8007b799 您必须拥有此计算机的管理权限才能运行此工具。

解决方案:关闭UAC可解决此问题。 从“开始”菜单>控制面板>系统和安全性>行动中心>选择您的UAC级别 - 将其设置为从不通知(需要重新启动)。

谢谢你,我希望我能提供帮助。

答案 5 :(得分:0)

我测试aspnet_regiis.exe -pef "connectionStrings" "C:..\YourApplication",如果不以管理员身份运行,则会出现错误"对象已存在"。如果以管理员身份运行,则可以正常运行。