在.NET中跨多个应用程序共享加密的连接字符串

时间:2011-02-24 10:57:08

标签: .net security encryption connection-string

我正在寻找一种加密数据库连接字符串的方法,该字符串将在许多不同的服务和应用程序之间共享。这些应用程序和服务将在同一台机器上运行,但这可能(很可能)将来发生变化。

我已经看过.NET的System.Configuration命名空间中的功能,但它并没有完全符合我的要求。除非我遗漏了一些非常明显的东西,否则它允许我加密连接字符串,但似乎没有办法导出加密密钥,以便我可以在多台机器上共享它们。实际上,从MSDN文档中不清楚我是否能够跨多个进程共享此加密数据。这里可能值得注意的是,这不是ASP.NET Web服务,因此我无法使用web.config文件和aspnet_regiis.exe来执行密钥管理。或者我可以吗?

如果无法使用System.Configuration类,我很可能会将加密的连接字符串存储在注册表中并进行自己的密钥管理。理想的解决方案是避免注册表并使用.NET的System.Configuration工具。

2 个答案:

答案 0 :(得分:0)

您可以使用ASP.NET中提供的相同.config加密功能,但您需要在Windows应用程序的安装(或首次运行)期间执行此操作(我认为这就是您所要求的为?)

看到这篇文章: http://social.msdn.microsoft.com/Forums/en/sqlsecurity/thread/c3a09697-a980-4351-8f40-155a9bcfc939

答案 1 :(得分:0)

我们最终将加密密钥存储在注册表中,并手动处理密钥管理。

相关问题