我需要加密网络配置的某些部分。在阅读了一些教程之后,我了解到使用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'。”
帮助!
答案 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"
,如果不以管理员身份运行,则会出现错误"对象已存在"。如果以管理员身份运行,则可以正常运行。