パスワードの暗号化

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);
以下のような場所では、ハードコーディングされたパスワードを手動で暗号化することが必要になります。

EGL システム関数は、接頭部が crypto: のパスワードを受け取ると、そのパスワードを自動的に暗号化解除します。したがって、crypto: という文字で始まるパスワードの場合は、必ず暗号化する必要があります。もし暗号化しなくても、EGL はそのパスワードを暗号化解除しようとします。

パスワードを暗号化するには、以下のステップを実行してください。

  1. システムのパスに Java 実行可能ファイルを追加します。
    1. Java SDK 入手して、インストールします (未インストールの場合)。Java SDK は、IBM® の Web サイト (http://www.ibm.com/developerworks/java/jdk/) からダウンロードすることができます。
    2. システムの PATH 環境変数に、Java SDK の場所を追加します。操作方法については、オペレーティング・システムの文書を 参照してください。
  2. コマンド・プロンプトを開きます。
  3. 次の場所までナビゲートします。
    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
    インストールされているプラグインのバージョン。複数存在する場合は、旧バージョンを使用する理由がない限り、最新のバージョン番号を持つプラグインを使用してください。
  4. 次のコマンドを入力して、プログラムを呼び出します。
    java -classpath fda7.jar com.ibm.javart.security.PasswordEncrypter
    プログラムにより、「暗号化するテキストを入力してください。」というプロンプトが表示されます。
  5. パスワードを入力して、Enter キーを押します。プログラムにより、 接頭部 crypto: で始まる、暗号化されたストリングが戻されます。
  6. 戻されたストリング全体 (crypto: 接頭部を含む) を、 パスワードのハードコーディングを通常行っている場所にコピーします。
  7. 変更されたファイルを保存して、プロジェクトを再生成します。

フィードバック