我正在加载从磁盘的二进制文件的项目。这个文件有特定的结构来存储数据,如果数据是由第三方产生/篡改的,我需要保护这个文件不被加载。
恢复
我有,我必须检查“创造者”是我在装货前的文件。
项目规范
- 加载该文件被用C++编写的应用。
- 生成该文件的应用程序是用C#编写的。
问题
- 我有哪些选择来做到这一点?
- 要使用哪些库/算法?
- 您能否为我提供一些步骤或指导?
注意
- 我有加密+链接到C++项目是否有帮助。
我正在加载从磁盘的二进制文件的项目。这个文件有特定的结构来存储数据,如果数据是由第三方产生/篡改的,我需要保护这个文件不被加载。
恢复
我有,我必须检查“创造者”是我在装货前的文件。
项目规范
问题
注意
你正在寻找的是一个签名/认证系统wirth不对称密钥。该功能内置于.Net。快速谷歌搜索显示this example看起来合法。
请记住,如果您没有完全控制认证过程(如果您的应用程序在客户端计算机上),则有人可能会反编译代码以绕过检查。
但为此,我必须购买某种类型的证书?或者我可以自己生成并正常使用它?请记住,这只是内部检查。 – WoLfulus 2012-02-02 16:45:21
是的,您可以生成自己的证书。例如使用IIS:http://geekswithblogs.net/iupdateable/archive/2009/09/22/using-iis-to-generate-a-x509-certificate-for-use-with.aspx – Luk 2012-02-02 17:45:53
谢谢!我正在阅读一些有关这方面的文章,似乎它会起作用。 – WoLfulus 2012-02-02 19:00:53