加密自定义配置设置

时间:2011-12-06 12:43:20

标签: asp.net encryption web-config wix configsection

我在加密配置部分时遇到了一些麻烦。我们使用来自外部供应商的包,web.config按以下方式构建:

的web.config

<appSettings file="customSettings.config">
  <add key="generic_setting" value="true"/>
  <add key="another_generic_setting" value="false"/>
</appSettings>

customSettings.config

<appSettings>
  <add key="company_db_username" value="sa"/>
  <add key="company_db_password" value="secret"/>
</appSettings>

我们使用WiX创建安装包(msi),以便我们可以在我们的组织中部署它。我们执行的一个自定义操作是appSettings部分的加密。在上面描述的情况中,遗憾的是它只加密web.config文件中的部分并保持customSettings.config不变。

我注意到configSource属性的加密效果比文件属性好一些,但它不支持合并两个文件中的元素。现在我可以在我加密自定义操作中的所有内容之前以编程方式将customSettings.config的元素合并到web.config中,但我想知道是否有更清晰的解决方案。

1 个答案:

答案 0 :(得分:1)

根据您的示例,您要加密的信息是数据库用户名和密码,另一种方法是使用Windows身份验证第一次连接到您的数据库。初始用户将拥有非常有限的权利。

使用该连接获取更高权限帐户的凭据/连接字符串,该帐户先前使用项目级别的DB加密存储(请参阅OPEN SYMMETRIC KEY和ENCRYPTBYKEY)。

相关问题