我正在加載從磁盤的二進制文件的項目。這個文件有特定的結構來存儲數據,如果數據是由第三方產生/篡改的,我需要保護這個文件不被加載。
恢復
我有,我必須檢查「創造者」是我在裝貨前的文件。
項目規範
- 加載該文件被用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