3.2.10. 外部ソースからのキーストアパスワードの取得

EXTEXTCCMD CMDC、または CLASS メソッドは、Java キーストアパスワードの取得について vault 設定で使用できます。

<vault-option name="KEYSTORE_PASSWORD" value="METHOD_TO_OBTAIN_PASSWORD"/>

この方法を以下で説明します。

{EXT}…​
これは、そのまま使えるコマンドを参照します。ここでの …​ は、実際のコマンドです。例: {EXT}/usr/bin/getmypassword --section 1 --query company/usr/bin/getmypassword コマンドを実行します。このコマンドは、標準出力にパスワードを表示し、セキュリティー vault のキーストアのパスワードとして使用します。この例では --section 1--query company のオプションを使用しています。
{EXTC[:expiration_in_millis]}…​
実際のコマンドを参照します。ここでの、... は、プラットフォームコマンドを実行するために Runtime.exec(String) メソッドに渡される、実際のコマンドラインです。コマンド出力の最初の行がパスワードとして使用されます。EXTC バリアントは expiration_in_millis ミリ秒のパスワードをキャッシュします。デフォルトのキャッシュの有効期限は 0 = infinity です。例: {EXTC:120000}/usr/bin/getmypassword --section 1 --query company は、キャッシュに /usr/bin/getmypassword が含まれるかどうかを検証します。出力が含まれる場合は、これを使用します。出力がない場合は、コマンドを実行してこれをキャッシュに出力して使用します。この例では、キャッシュの有効期限は 2 分 (120000 ミリ秒) です。
{CMD}…​ または {CMDC[:expiration_in_millis]}…​
一般的なコマンドは , (コンマ) で区切られた文字列です。最初の部分は実際のコマンドで、追加の部分はパラメーターを表します。コンマにバックスラッシュを付けることで、パラメーターの一部として維持することができます。例: {CMD}/usr/bin/getmypassword,--section,1,--query,company
{CLASS[@jboss_module_spec]}classname[:ctorargs]
[:ctorargs] は、クラス名から : (コロン) によって区切られるオプションの文字列です。これは、クラス名 ctor に渡されます。ctorargs は文字列のカンマ区切りの一覧です。例: {CLASS@org.test.passwd}org.test.passwd.ExternamPassworProviderこの例では、org.test.passwd.ExternamPassworProvider クラスが org.test.passwd モジュールからロードされ、toCharArray() メソッドを使用してパスワードを取得します。toCharArray() が利用できない場合は、toString() メソッドが使用されます。org.test.passwd.ExternamPassworProvider クラスにはデフォルトのコンストラクターが必要です。