データベース接続のパスワードを暗号化する

最終更新日: 2021年8月30日

Designerの設定

「環境 > データベース > メイン > 環境 > データベースパスワードを暗号化する」を有効にします。

これを有効にすると、データベース設定欄の「パスワード」の値が AES-256 で暗号化されます。

サブデータベースへの対応

この設定を行うと、サブデータベースのパスワードも暗号化されるようになります。

内部の動作の仕組み

データベースパスワードを暗号化すると、データベース設定が記述されているファイル catalina.properties のパスワードが暗号化された状態で生成されます。

ここで「秘密鍵 = 暗号化キー」は Java ソースコード中に自動生成されます。開発者はこの「秘密鍵」を知る必要はありません。ソースコード中に埋め込まれているということは、ビルドされたアプリケーションの class ファイルに埋め込まれているということになります。

※ ビルドのたびに秘密鍵(暗号化キー)が変わります。

運用中にデータベースのパスワードを変更する場合

運用中にデータベースのパスワードを変更する場合、ビルドなしで対応する手順を説明します。

  1. catalina.properties のキー=パスワードの「パスワード部分」に、変更したいパスワードを*直接*記述してください。つまり暗号化されていない状態です。
  2. wagbyapp を起動します。
  3. 1. からパスワードの復号化に失敗します。このとき、コンソールに「パスワード部分を秘密鍵で変換した値」が出力されます。これが本来の「暗号化された状態」の文字列です。
  4. wagbyapp を停止し、catalina.properties のキー=パスワード部分を 3. の値に改めて書き換えてください。これは暗号化されたパスワードです。
  5. wagbyapp を再度、起動する。今度は接続に成功します。

つまり wagbyapp を二回起動させますが、一回目の処理でパスワードの暗号化された値を取得できるようにしています。

サポート

この資料に関するお問い合わせはプレミアムサポートで対応します。