.NET中的防篡改配置文件?

时间:2012-01-24 15:54:42

标签: .net digital-signature

我们发送带有关联配置文件的.NET应用程序。我们的顾问在安装期间创建配置文件。我们想让客户端难以篡改配置文件。

我们有什么途径?

目前,我正在考虑使用我们的私钥对配置文件进行签名,并在应用程序启动时根据公钥对其进行验证。然后,我会在某处隐藏EXE中的公钥。

我该怎么做呢?有更好的方法吗?

注意:我意识到不会阻止 确定的攻击者。我们正在考虑关闭一些最简单的路线,并将所需的努力转移到故意而非疏忽的侵权行为中。

2 个答案:

答案 0 :(得分:5)

这没有任何意义。您正在发送配置文件。它用于配置应用程序。但你不希望它被改变?因此,它不能用于配置应用程序。那么,为什么甚至打扰配置文件呢?为什么不将它作为资源嵌入应用程序本身?

我错过了什么?

编辑,以回复您的新信息:

使用XMLDSIGSign app.configVerify签名。

答案 1 :(得分:0)

您可以使用aspnet_regiis command line utility加密配置文件的各个部分。它默认使用DPAPI(我相信),但它也可以支持其他加密算法。因此,您可以使用它来加密文件(或任何其他部分)的连接字符串或应用程序设置部分。