EGL コマンド・ライン・ユーティリティーを使用して、パスワードを暗号化できます。パスワードの暗号化は、Java™ プログラムとデバッガーに対してのみサポートされており、COBOL プログラム向けにはサポートされていません。
EGL は、出力ファイルを生成するときに、システム関数に渡されるプロパティー・ファイル内およびリテラル内のパスワードを、自動的に暗号化します。以下は、
sqlLib.connect システム関数への呼び出しのサンプルです。
sqlLib.connect(myDatabase, myUserid, "myPassword");
パスワード・パラメーターはストリング・リテラルとして指定されるため、自動的に暗号化されて、生成されたコードに含まれます。
ただし、パスワードが関数呼び出し以外でハードコーディングされた場合、EGL はパスワードを暗号化しません。
myPasswordVariable string = "myPassword";
sqlLib.connect(myDatabase, myUserid, myPasswordVariable);
この場合、パスワードは暗号化されず、生成されたソース内に表示されます。
パスワードを手動で暗号化するには、コマンド・ライン・ユーティリティーを実行して、
コード内の暗号化された戻り値を使用します。
myPasswordVariable string = "crypto:abcdef12345";
sqlLib.connect(myDatabase, myUserid, myPasswordVariable);
以下のような場所では、ハードコーディングされたパスワードを手動で暗号化することが必要になります。
- パスワードを保存する変数
- callLink 要素プロパティー (ctgKeyStorePassword など)
- システム関数の呼び出しのうち、関数呼び出し内のリテラルとしてパスワードを渡さないもの (sqlLib.connect、sysLib.setRemoteUser、VGLib.connectionService など)
EGL システム関数は、接頭部が crypto: のパスワードを受け取ると、そのパスワードを自動的に暗号化解除します。したがって、crypto: という文字で始まるパスワードの場合は、必ず暗号化する必要があります。もし暗号化しなくても、EGL はそのパスワードを暗号化解除しようとします。
パスワードを暗号化するには、以下のステップを実行してください。
- システムのパスに Java 実行可能ファイルを追加します。
- Java SDK 入手して、インストールします (未インストールの場合)。Java SDK は、IBM® の Web サイト (http://www.ibm.com/developerworks/java/jdk/) からダウンロードすることができます。
- システムの PATH 環境変数に、Java SDK の場所を追加します。操作方法については、オペレーティング・システムの文書を
参照してください。
- コマンド・プロンプトを開きます。
- 次の場所までナビゲートします。
shared_resources¥plugins¥
com.ibm.etools.egl.java.runtime_version
- shared_resources
- 製品の共用リソース・ディレクトリー。例えば、Windows システムでは C:¥Program
Files¥IBM¥SDP70Shared、または Linux システムでは /opt/IBM/SDP70Shared。
現在の製品をインストールする以前に EGL を含む前のバージョンの IBM 製品をインストールして保持している場合は、
以前のインストールでセットアップした共用リソース・ディレクトリーを指定する必要があります。
- version
- インストールされているプラグインのバージョン。複数存在する場合は、旧バージョンを使用する理由がない限り、最新のバージョン番号を持つプラグインを使用してください。
- 次のコマンドを入力して、プログラムを呼び出します。
java -classpath fda7.jar com.ibm.javart.security.PasswordEncrypter
プログラムにより、「暗号化するテキストを入力してください。」というプロンプトが表示されます。
- パスワードを入力して、Enter キーを押します。プログラムにより、
接頭部 crypto: で始まる、暗号化されたストリングが戻されます。
- 戻されたストリング全体 (crypto: 接頭部を含む) を、
パスワードのハードコーディングを通常行っている場所にコピーします。
- 変更されたファイルを保存して、プロジェクトを再生成します。