0

我需要添加一個許可證到我的應用程序來限制時間&設備,我的應用程序。可以使用。
所以我想在我的許可證文件中存儲硬盤和/或NIC序列號和過期日期。
現在怎麼能保護我的許可的方式:時間和設備有限許可

  • 我的應用程序能夠解密並閱讀&檢查過期日期和連續劇
  • 用戶不應該能夠創建一個許可文件爲他自己。

我可以使用公鑰/私鑰加密來實現嗎?

如果我可以使用公鑰/私鑰加密,則具有私鑰(用於解密)的用戶使用該私鑰進行加密(使用能夠使用該私鑰解密的私鑰來手動製作許可證),或者只有公鑰可以用私鑰解密的方式進行加密?

有沒有更好的解決方案?

+0

聽起來沒問題,但是知識淵博的用戶不應該編輯應用程序二進制文件並將許可證檢查代碼更改爲一堆'NOP'? –

+0

@MarcB:我在我的應用程序中使用了一些模糊和包裝技術,但當然沒有提供100%的安全性;我只想保護用戶的許可證,以便更改到期日期或設備ID – RYN

+1

PK加密可以做到,但是您得到的是相反的條款。您將使用您的私鑰來加密許可證文件。用戶將擁有相同的PUBLIC密鑰,用於解密文件。如果他們使用任何其他密鑰,他們會得到垃圾而不是許可證。當然,您可以爲每個用戶設置一個P-K對,但這是很多工作。 –

回答

0

通常,許可證包含這種信息(計數,日期等)以可讀的格式存儲,以便您的客戶驗證它們。然後您使用您的私鑰添加簽名,以便不能僞造/更改許可證。

現在,您的應用程序可以使用公鑰(內置於其中)來驗證許可證,即使有人可以讀取該密鑰,他們也無法生成有效許可證。 [直到他們用你自己的應用程序替換你的應用程序中的公鑰]