17.2. Password Based Encryption (パスワードベースの暗号化 : PBE) で設定されたアイデンティティ
org.jboss.resource.security.JaasSecurityDomainIdentityLoginModule
は JaasSecurityDomain によって暗号化されたパスワードを使用してデータソースを静的に定義するためのログインモジュールです。データソースのパスワードの base64 形式は PBEUtils を使用して生成できます。
手順17.4 PBEUtils を使用したパスワードの暗号化 - Platforms 5.0 および 5.0.1 バージョン
これは JBoss Enterprise Application Platform 5.0 および 5.0.1 バージョンでのパスワードの暗号化手順です。
- 以下のコマンドを実行します。
java -cp jboss-as/common/lib/jbosssx.jar org.jboss.security.plugins.PBEUtils \ salt count domain-password data-source-password
java -cp jboss-as/common/lib/jbosssx.jar org.jboss.security.plugins.PBEUtils \ salt count domain-password data-source-password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 結果暗号化されたパスワードが表示されます。
手順17.5 PBEUtils を使用したパスワードの暗号化 - Platform 5.1 バージョン
これは JBoss Enterprise Application Platform 5.1 およびそれ以降のバージョンでのパスワードの暗号化手順です。
- 以下のコマンドを実行します。
java -cp jboss-as/lib/jbosssx.jar org.jboss.security.plugins.PBEUtils \ salt count domain-password data-source-password
java -cp jboss-as/lib/jbosssx.jar org.jboss.security.plugins.PBEUtils \ salt count domain-password data-source-password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 結果暗号化されたパスワードが表示されます。
PBEUtils
のパラメータは以下のとおりです。
- salt
- JaasSecurityDomain からの Salt 属性です (8 文字ちょうどでなければなりません)。
- count
- JaasSecurity ドメインからの IterationCount 属性です。
- domain-password
- JaasSecurityDomain から KeyStorePass 属性にマップするプレーンテキストのパスワードです。
- data-source-password
- JaasSecurityDomain パスワードにより暗号化されるべきデータソースのプレーンテキストのパスワードです。
例17.3「PBEUtils コマンドの例」 ではコマンドの例とその出力を示しています。
例17.3 PBEUtils コマンドの例
java -cp jbosssx.jar org.jboss.security.plugins.PBEUtils abcdefgh 13 master password Encoded password: 3zbEkBDfpQAASa3H39pIyP
java -cp jbosssx.jar org.jboss.security.plugins.PBEUtils abcdefgh 13 master password
Encoded password: 3zbEkBDfpQAASa3H39pIyP
次のアプリケーションポリシーを
$JBOSS_HOME/server/$PROFILE/conf/login-config.xml
ファイルに追加します。
$JBOSS_HOME/docs/examples/jca/hsqldb-encrypted-ds.xml
はキーストアの JaasSecurityDomain 設定と併せてデータソースの設定を図解します。
例17.4「FilePassword コマンドの例」 はコマンドの例とその出力を提供します。
例17.4 FilePassword コマンドの例
次の例は、
.../conf/server.password
ファイルを参照します。最初に、暗号化の詳細を保存し、マスターパスワードを難読化するため、次のコマンドを実行する必要があります。
java -cp jboss-as/lib/jbosssx.jar org.jboss.security.plugins.FilePassword salt count master_password password_file For example: java -cp jboss-as/lib/jbosssx.jar org.jboss.security.plugins.FilePassword abcdefgh 13 master jboss-as/server/$PROFILE/conf/server.password
java -cp jboss-as/lib/jbosssx.jar org.jboss.security.plugins.FilePassword salt count master_password password_file
For example: java -cp jboss-as/lib/jbosssx.jar org.jboss.security.plugins.FilePassword abcdefgh 13 master jboss-as/server/$PROFILE/conf/server.password
警告
パスワード生成ステップで使用された MBean の同じ Salt と IterationCount を使用するようにしてください。
注記
暗号化されたデータソースに依存するサービスを開始するとき、次の MBean がサービスとして開始されていない場合はエラー
java.security.InvalidAlgorithmParameterException: Parameters missing
が発生します。
(jboss.security:service=JaasSecurityDomain,domain=ServerMasterPassword)
(jboss.security:service=JaasSecurityDomain,domain=ServerMasterPassword)
以前に示した例の
hsqldb-encrypted-ds.xml
コードのとおり次の要素を含めることで、データソースの前に MBean が開始します。
<depends>jboss.security:service=JaasSecurityDomain,domain=ServerMasterPassword</depends>
<depends>jboss.security:service=JaasSecurityDomain,domain=ServerMasterPassword</depends>