【发布时间】:2011-02-24 10:57:07
【问题描述】:
我正在寻找一种加密数据库连接字符串的方法,该字符串将在许多不同的服务和应用程序之间共享。这些应用程序和服务将在同一台机器上运行,但这可能(很可能)在未来发生变化。
我查看了 .NET 的 System.Configuration 命名空间中的功能,但它并没有达到我想要的效果。除非我遗漏了一些非常明显的东西,否则它允许我加密连接字符串,但似乎没有办法导出加密密钥,以便我可以在多台机器上共享它们。事实上,从 MSDN 文档中并不清楚我是否能够在多个进程之间共享这些加密数据。这里可能值得注意的是,这不是一个 ASP.NET Web 服务,所以我不能利用 web.config 文件和 aspnet_regiis.exe 来执行密钥管理。或者我可以吗?
如果无法使用 System.Configuration 类,我很可能会求助于将加密的连接字符串存储在注册表中并进行自己的密钥管理。理想的解决方案是避免使用注册表并使用 .NET 的 System.Configuration 工具。
【问题讨论】:
标签: .net security encryption connection-string