「SUPER! ActivateServer」
取扱説明書



1.概要

このソフトは、簡易認証を行うサーバーです。
シェアウエアの認証などで使えるように作成しましたが、他の用途にも使えると思います。
クライアント側からの通信は付属のDLLを使用しますので、
DLLを扱える言語ならどの言語でも使用できます。
通信には「ワンタイムパスワード」方式を使用しており、安全な通信が可能です。
データファイルも暗号化されますので、ファイルの内容から平文を推測することは不可能です。

簡易的な機能しかありませんが、扱いも簡単なのでぜひ一度お試しください。


2.サーバー

このウィンドウから各機能にアクセスします。
サーバーを起動させる前に、まずデータ編集を行わなければなりません。
ボタンをクリックするとパスワードを求められますので、覚えやすいパスワードを設定し、
忘れないようにお気を付けください。
文字として入力できるものなら何でも可です。


パスワード入力ダイアログです。
空欄のまま「OK」をクリックするか、「キャンセル」をクリックすると、メニュー画面に戻ります。

☆データ編集☆

認証情報データベースの編集を行うウィンドウです
☆追加☆、☆編集☆

ここで設定したデータをデータベースに登録・編集するウィンドウです。
文字として入力できるものなら何でも可ですが、ダブルクォーテーション「"」とカンマ「,」は使用できません。
★DBID★
データベースIDです。これによってデータを識別します。
すでに登録されているものは使用できません。
必須項目はDBIDだけで、他は省略してもかまいません。
ラベルをクリックするとランダムな文字列が入力されます。

★登録者名★、★ソフトウェア名★、★ユーザーID★、★パスワード★
この項目名は便宜上のものであり、実際には何を登録してもかまいません。適宜読み替えてください。

★有効期限★
半角で「2000/01/20」のように入力してください。
この日付を過ぎると認証ができなくなります。

★有効回数★
半角数字で、認証可能な回数を入力します。
1回認証を行うごとに1ずつカウントダウンしていき0になると認証できなくなります。
ただし、正常に認証された場合のみカウントされます。

★ホスト名★
ここで指定されたホスト名に対してのみ認証を行います。
空欄の場合は、次回接続時にホスト名が設定されます。
この機能により、不正な認証をある程度防ぐことができます。
ただし、プロバイダを変えるなどしてホスト名が変わった場合は、空欄にするか新しいホスト名を登録しないといけません。
☆削除☆
選択した行を削除します。

☆検索☆

検索ウィンドウです。
★検索★
条件を入力してボタンをクリックすると、指定された文字列を含む行が選択されます。
検索範囲は、現在選択されている行の次の行から最後の行までです。

★閉じる★
検索ウィンドウを閉じます。
☆保存☆
データベースをファイルに保存します。
パスワードの情報はこのとき一緒に保存されますが、ハッシュ値として保存されますので、この値を元にパスワードが解析されることはありません。
データを編集し終えたら、忘れずに保存を行ってください。

☆終了☆
データベースウィンドウを閉じます。
間違ったデータを登録してしまったときなどは、保存をせず一旦終了することで編集前の状態に戻すことができます。
☆サーバー起動☆

サーバーを起動・停止するウィンドウです。
通信に使用するポートは「24438」です。ルーターやセキュリティソフトをご使用の場合は、予め設定をしておく必要があります。
表示される通信ログは上の行にいくほど新しいものになりますが、ログファイルに記録される順序は逆になりますのでご注意ください。
認証結果が「正常認証」になるのは、サーバー側に登録されているデータとクライアント側から送られてくるデータがすべて一致したときのみです。空欄の項目は無視されます。
個々の説明は特に必要ないと思うので割愛させていただきます。


☆パスワード変更☆
設定したパスワードを変更したいときに実行します。
最初に表示されるダイアログに現在のパスワード、次に表示されるダイアログに新しいパスワードを入力します。
データベースファイルは新しく設定されたパスワードで暗号化し直されます。


☆終了☆
ソフトを終了します。


3.クライアント

サーバーと通信を行うには、付属のDLLを使用します。
DLLを使用する前に、改竄されていないか調べることをお勧めします。

アルゴリズム ハッシュ値
CRC32 A65EF2FE
MD5 CA2CE15D06CA55367777778186E54E0B
SHA-256 40E8C028F6F4A96F58AF7E142BE8F3D63065E7C4E3440B66BFA7BA36D7FAAAC4
SHA-384 B196F17DC6FFDF19AE503A5FF2D89B575AFB9D76AC52DF9795815743914C1ACBAA372F00430E603A5A59A533AF262626
SHA-512 61C49B3CF1739A4DD616C9D250067320F5638FBD835D7C2737268CA2C5EFEFC55BD7064C9DC592D523C91748B00FA6F35A046F14C11AD40713F90E8E2BD4677E


使用する関数は以下の1つだけです。

function Certify(ServerAddress : PChar; DBID : PChar; EntryName : PChar; SoftwareName : PChar; UserID : PChar; Password : PChar) : integer;

☆引数☆
引数にはPChar型(Char型のポインタ)を使用します。お使いの言語に合わせて適切な型をご使用ください。
使用しない引数にはヌルポインタを渡してください。
★ServerAddress★
サーバーのIPアドレスかホスト名を指定します。

★DBID★
DBIDを指定します。

★EntryName★
登録者名を指定します。

★SoftwareName★
ソフトウェア名を指定します。

★UserID★
ユーザーIDを指定します。

★Password★
パスワードを指定します。
☆戻り値☆
戻り値はinteger型(符号付き32 ビット整数)です。
★-2★
サーバー内部エラー

★-1★
サーバーに接続できない

★0★
正常認証

★1★
DBIDが一致しない

★2★
登録者名が一致しない

★3★
ソフトウェア名が一致しない

★4★
ユーザーIDが一致しない

★5★
パスワードが一致しない

★6★
有効認証回数が0になっている

★7★
有効認証期限が過ぎている

★8★
ホスト名が一致しない