エージェントにおけるパスワード暗号化の問題のデバッグ
エージェント通信のデバッグには、エージェントとエンジンのコンポーネントが関連しています。
パスワード暗号化を有効にした後で問題が発生する場合、以下を確認してください。
- bfagent.conf を確認します。
以下の行のコメントは外す必要があります。
password_encrypt_module ./bfcrypt.dll;./bfpwcrypt.conf
- bfpwcrypt.conf がエージェントの起動元ディレクトリーに存在することを確認します。 このファイルには少なくとも 1 つの鍵項目が含まれていなければなりません。
- エンジンの bfpwcrypt.conf の最終項目が、 エージェントの bfpwcrypt.conf 内の任意の場所に存在することを確認します。
これらすべての項目を確認しても問題が解決しない場合は、トレースを有効にして出力ログを調べてみてください。 トレースを有効にする手順は、以下のとおりです。
- bfagent.conf を開きます。
- 以下の行のコメントを外します。
activity_log bfagent.log
bfagent.log の代わりに別のパスを指定できます。
bfcrypt.dll のパスの問題
bfagent.conf では、 password_encrypt_module プロパティーが bfcrypt.dll への正確なパスを指していなければなりません。 例:
password_encrypt_module /opt/buildforge/bfcrypt.dll
トレースをオンにすると、このパスの問題点が、出力に以下のように示されます。
[ 8928] bfcryptloader.c : 208: Loading password encryption module.
[ 8928] bfcryptloader.c : 223: module: bfcrypt
[ 8928] bfcryptloader.c : 232: Loading module: C:/BuildForge71.181.Agent/bfcr
ypt.dll
[ 8928] bfcryptloader.c : 262: Failed loading DLL, error code = 0
正常にロードされると、出力は以下のようになります。
[ 12248] bfpwdlocloader.c: 134: Looking for password locator: ssl_key_password_locator
[ 12248] bfpwdlocloader.c: 244: Looking for password for prop ssl_key_password from bfagent.conf.
[ 12248] bfcryptloader.c : 208: Loading password encryption module.
[ 12248] bfcryptloader.c : 223: module: bfcrypt
[ 12248] bfcryptloader.c : 232: Loading module: ./bfcrypt.dll
[ 12248] bfcryptloader.c : 269: Loading procedure bfcrypt_init.
パスワード暗号化解除の失敗
鍵が間違っているなどの理由で パスワードの暗号化解除が失敗すると、ログには以下のような行が示されます。[ 4912] agent.c : 237: AUTH failed
パスワードが正しいことが分かっている場合は、さらに問題を診断することができます。 bfcrypt.dll モジュールに対するデバッグを有効にします。 デバッグを有効にするには、以下の環境変数を設定します。
BFDEBUG_SECURITY=1
エージェントがサービスとして稼働している場合は、この設定を全体的に適用する必要があります。
デバッグ出力は、エージェントの起動元ディレクトリー内の bfcrypt.txt に置かれます。
以下の出力は、エージェントの bfpwcrypt.conf に正しい鍵が 入っていないことを示しています。
load_keys_from_file: Parsed 1 key configurations.decrypt:
Looking for key matching info: 922492fe0c4010008304c3670e1e0e1e, length=32
decrypt: Comparing against: 4d553f110c401000ac08000051f651f6, length=32
decrypt: Warning! No matching key found.
以下の出力は、鍵が正常に一致していることを示しています。
load_keys_from_file: Parsed 2 key configurations.decrypt:
Looking for key matching info: 922492fe0c4010008304c3670e1e0e1e, length=32
decrypt: Comparing against: 7427ab360c4010008f9d000049664966, length=32
decrypt: Comparing against: 922492fe0c4010008304c3670e1e0e1e, length=32
decrypt: Found match: 922492fe0c4010008304c3670e1e0e1e, length=32