加密 web.config 时找不到提供程序

发布于 2024-09-26 01:02:11 字数 447 浏览 3 评论 0原文

我正在尝试加密 web.config 文件中的自定义部分。
当我到达调用 ProtectSection() 的行时,出现异常,提示未找到提供程序。

Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);  
ConfigurationSection section = config.GetSection("MySection");  
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider"); 

我也用 RSA 尝试过,但得到了同样的错误。
运行 aspnet_regiis.exe 可以,但我需要以编程方式执行此操作。我缺少什么?

谢谢。

I'm trying to encrypt a custom section in a web.config file.
When I get to the line that calls ProtectSection(), I get an exception saying the provider isn't found.

Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);  
ConfigurationSection section = config.GetSection("MySection");  
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider"); 

I tried it with RSA as well and got the same error.
Running aspnet_regiis.exe works, but I need to do this programatically. What am I missing?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

橙味迷妹 2024-10-03 01:02:11

您可以正确使用“DataProtectionConfigurationProvider”(请参阅这里是提供程序名称 - dpapi 的提供程序名称中没有dpapi - 但 rsa 的提供程序),但是,您的问题是您不能在名为“MySection”的部分上运行 iisreg - 它必须是某些部分。

该消息的含义是没有可用于该特定部分的提供程序。

不过,要测试您的代码,您可以使用 "AppSettings""connectionStrings""system.net/mailSettings/smtp" 进行尝试。 - 所有这些都与 aspnet_regiis.exe 一起使用。

请参阅此其他堆栈关于如何加密自定义部分的交流主题

You are right to use `DataProtectionConfigurationProvider' (see here for the provider names - the provider name for dpapi doesn't have dpapi in it - but the provider for rsa does), however, your problem is that you can't run iisreg on a section named "MySection" - it has to be certain sections.

What the message means is that there is no provider available for use with that particular section.

To test your code, however, you might try it with "AppSettings" or "connectionStrings" or "system.net/mailSettings/smtp". - all of which work with aspnet_regiis.exe.

See this other Stack Exchange thread about how to encrypt custom sections.

感情旳空白 2024-10-03 01:02:11

如果您尝试使用 Windows 数据保护提供程序,则传递给 ProtectSetion 的参数不应为“DpapiProtectedConfigurationProvider”。

对于 RSA,它应该是 "RsaProtectedConfigurationProvider" 这是默认和首选选项

If you are trying to us Windows Data Protection Provider shouldnt the parameter passed to ProtectSetion say "DpapiProtectedConfigurationProvider".

For RSA it should be "RsaProtectedConfigurationProvider" which is default and preffered option

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文