參照answer of this question公鑰軟件許可解密我不明白,如果私有密鑰保存在許可服務器和公鑰運在應用軟件許可方案如何能工作可執行文件,而不是反之。存儲在應用程序二進制
我嘗試做以下的軟件許可方案:
- 用戶在購買後得到一個產品ID(基於GUID),並使用該應用程序內將其激活。
- 應用程序連接到使用RSA公鑰發回加密文本的許可證服務器。該文本(許可證)將存儲在用戶的硬盤上。
- 每次應用程序啓動時,它需要使用RSA私鑰解密該許可證,以便提取不同的參數,如產品版本,產品限制,註冊什麼公司等
如何應用此解密如果它沒有私鑰但是公鑰有許可證文本?
謝謝!
編輯:
- 如果使用許可加密密鑰僅適用於服務器端,而不是市民,我們可以稱之爲一個私鑰?在這種情況下,如果一方擁有加密密鑰,而另一方(公衆)擁有解密密鑰,那麼擁有解密密鑰的一方是否可以獲得加密密鑰?關注點基於stackoverflow上的各種主題,在給定私鑰的情況下生成公鑰並不困難。如果你有私鑰,你可以有兩個密鑰。
- 這個想法是,一旦軟件被激活,它不應該再需要連接到許可證服務器。
我需要加密的那些細節,它們包含有關應用程序使用的限制,如基本版,企業版等信息,如果是在純文本應用程序可以通過簡單地改變文本解鎖。 – 2013-02-11 14:43:06
@MarcusFrenkel服務器簽名不會驗證數據是否被更改。 – 2013-02-11 18:32:10
@MarcusFrenkel:簽名就是這樣。如果用戶修改任何內容,簽名將不再匹配,並且用戶不能在沒有服務器的公鑰的情況下重新簽名。 – SLaks 2013-02-11 18:35:51