调试代理程序中的密码加密问题

调试代理程序通信包含代理程序和引擎组件。

如果启用密码加密后出现问题,请检查以下事项:

如果执行了所有这些检查,但是问题仍然存在,请尝试启用跟踪并检查输出日志。要启用跟踪,请执行以下操作:

  1. 打开 bfagent.conf
  2. 取消下行的注释:
    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


反馈