1

販売する予定のソフトウェアにソフトウェアライセンスを追加しようとしています(つまり、ライセンスが正しい場合は、ソフトウェアへのアクセスを許可します。それ以外の場合は、アクセスを解除します)。サーバーがないので接続できません。有料のオンラインサービスの1つを使用してソフトウェアを販売します(サーバーサポートをライセンスに使用するのは好きではありません。休憩を取る時間だからです)。そこで、クライアント側の検証を使用することにしました。とにかく、私はライセンスを生成する方法(ライセンスアルゴリズム)とそれを検証する方法(ライセンスアルゴリズムによる)について混乱しています。私は自分のやり方でそれを行うことができますが、このセキュリティの問題を台無しにするのは好きではないので、あなたの専門知識の助けを借りることに決めました。このライセンスジェネレーターとバリデーターの作成方法について教えてください/見せてください/例を挙げてください。また、アルゴリズムを使用して例を投稿する場合は、複雑だと思われる場合は、ご説明ください。それなら私だけが自分のものを作ることができるからです

それとは別に、私は別の疑問を持っています。つまり、ソフトウェアのライセンスキーを1つだけ持っていても大丈夫ですか?したがって、問題なくソフトウェアにハードコーディングできます。

助けてください..

4

3 に答える 3

4

公開鍵暗号システムを使用します。アプリには、ライセンス署名機関の公開鍵のみを含める必要があるため、新しいライセンスを生成するために必要な鍵はありません(あなただけがそれを持っています)。署名されたドキュメントには、有効/無効にする必要のあるオプション機能をリストできます。ファイルに署名し、署名を検証するためのサンプルコードを含むチュートリアルは、次のとおりです。http: //docs.oracle.com/javase/tutorial/security/apisign/index.html

于 2012-05-13T17:53:25.037 に答える
0

@JamesYoungmanが言ったように-PPKは行く方法です。これを使用するためのショートカットが必要な場合は、TrueLicenseを参照してください。

少なくとも、これを自分で開始したい場合に注意しなければならないことを垣間見るために、設計上の考慮事項を見てください。

于 2012-05-13T20:13:23.097 に答える
0

実際には、どんな保護も破られる可能性があります。問題は、ハッカーがどれだけの努力を払う必要があるかということです。

キーを簡単に共有できる限り、ハードコードされたキーを1つ持つことは、おそらく選択できる最悪のソリューションです。キー共有が機能しないように、キーはf(system_id)である必要があります。

キーの検証をハードコーディングすることも適切ではありません。ハッカーは、コードのこの部分をkeygenにコピーして貼り付けるだけです。

より良い解決策は、 http://activation-cloud.comと同様に、サーバー側でキーをチェックすることです。ただし、現時点ではC++のみです。

于 2012-05-14T10:32:17.263 に答える