我们发送带有关联配置文件的.NET应用程序。我们的顾问在安装期间创建配置文件。我们想让客户端难以篡改配置文件。
我们有什么途径?
目前,我正在考虑使用我们的私钥对配置文件进行签名,并在应用程序启动时根据公钥对其进行验证。然后,我会在某处隐藏EXE中的公钥。
我该怎么做呢?有更好的方法吗?
注意:我意识到,不会阻止 确定的攻击者。我们正在考虑关闭一些最简单的路线,并将所需的努力转移到故意而非疏忽的侵权行为中。
答案 0 :(得分:5)
这没有任何意义。您正在发送配置文件。它用于配置应用程序。但你不希望它被改变?因此,它不能用于配置应用程序。那么,为什么甚至打扰配置文件呢?为什么不将它作为资源嵌入应用程序本身?
我错过了什么?
编辑,以回复您的新信息:
答案 1 :(得分:0)
您可以使用aspnet_regiis command line utility加密配置文件的各个部分。它默认使用DPAPI(我相信),但它也可以支持其他加密算法。因此,您可以使用它来加密文件(或任何其他部分)的连接字符串或应用程序设置部分。