我只是好奇是否有人对此有任何好主意。
我们有很多 C# windows 服务。每个应用程序都安装在多台机器上(从 2 到 80 个,取决于应用程序。)
由于网络的安全设置,我们不能(始终)对 SQL 服务器使用 Windows 身份验证,因此我们的连接字符串和凭据具有实际的用户名和密码。
我们的基础架构人员希望在部署软件时能够做到以下几点: 1) 编辑一次配置——为各种数据库连接设置适当的服务器、用户和密码。2) 将连接字符串(至少)加密或以其他方式肉眼无法读取 3) 将该配置文件复制到特定软件的所有安装。这意味着加密不能绑定到特定的机器。
DPAPI 可以做到这一点吗?可以在所有目标上安装一组密钥以允许解密通用配置文件吗?在这种情况下如何编辑配置?您如何防止其他用户以相同的方式查看加密配置?