imutilsc генерирует неправильные "зашифрованные пароли" для пароля БД в файле ответов HCL Connections 6.5
TL;DR
imutilsc
кажется, генерирует неправильный зашифрованный пароль для подключения к базе данных. У меня есть локальная тестовая установка DB2 сuser: lcuser
а также pw: password
. Вimutilsc
генерирует следующий зашифрованный пароль:
[root@cnx65 tools]# ./imutilsc encryptString password -silent -noSplash
fufgZbY47EfxLYarBAIxeQ==
Это не работает, Connections не может подключиться к DB2. Но при использовании установщика Connections 6.5 с графическим интерфейсом (см. Выше) он генерирует следующее:
<data key='user.wikis.dbUserPassword' value='UquZEzLwkJl5qCJ9J+B/jun8+DTdsGMJFQuIiHl8MZA='/>
UquZEzLwkJl5qCJ9J+B/jun8+DTdsGMJFQuIiHl8MZA=
работает, где fufgZbY47EfxLYarBAIxeQ==
из инструмента CLI - нет. Почемуimutilsc
создание неправильного зашифрованного пароля и как его исправить, чтобыpassword
поскольку ввод приведет к UquZEzLwkJl5qCJ9J+B/jun8+DTdsGMJFQuIiHl8MZA=
?
Мне не удалось найти информацию о типе шифрования, используемом в установщике CNX 6.5 для шифрования пароля самостоятельно.
Обратите внимание: моя цель - полностью автоматизировать установку Connections (Инфраструктура как код). Таким образом, использование установщика с графическим интерфейсом не является временным решением. Я просто использую это, чтобы понять, чтоimutilsc
генерирует неправильные зашифрованные пароли.
Задний план
Я устанавливаю HCL Connections 6.5 автоматически с файлом ответов. В документации сказано, чтоimutilsc
может использоваться для шифрования как учетной записи администратора WAS, так и пользователя базы данных, которую я вызываю из Ansible:
- name: "'Encrypt' password from {{ lcuser.name }} for response file"
become: yes
shell: "./imutilsc encryptString {{ lcuser.name }} -silent -noSplash"
register: lc_pw_crypt
args:
chdir: "{{ install_dir_cnx }}/core/IM/linux/tools"
- set_fact:
encrypted_lc_pw: "{{ lc_pw_crypt.stdout }}"
Этот пароль указывается в файле ответов для каждой базы данных следующим образом:
<data key='user.blogs.dbUser' value='{{ lcuser.name }}'/>
<data key='user.blogs.dbUserPassword' value='{{ encrypted_lc_pw }}'/>
Я делаю то же самое для админа WAS. Он работает с администратором WAS, поскольку установщик HCL успешно завершает работу и создает серверы / приложения WAS. Но при входе в систему соединений возникает ошибка Мы не можем обработать ваш запрос. Это вызвано подключением к БД: CNX не смог подключиться к БД из-за неправильных учетных данных.
Ручная установка
Установив gnome и запустив программу установки вручную с -record
переключатель, я увидел, что сгенерированный зашифрованный пароль не соответствуетimutilsc
пароль. Установщик подтвердил, что пароль правильный:
cd /opt/IBM/InstallationManager/eclipse
./IBMIM -record cnx-resp.xml
В сгенерированном файле ответа password
в зашифрованном виде, как это:
<!-- ... -->
<data key='user.wikis.dbUser' value='lcuser'/>
<data key='user.wikis.dbUserPassword' value='UquZEzLwkJl5qCJ9J+B/jun8+DTdsGMJFQuIiHl8MZA='/>
Что работает
В imutilsc
сгенерированный пароль также используется для администратора WAS. Здесь я делаю то же самое, но с простым текстовым паролем администратора dmgr вместо DB2 и помещаю его здесь:
<data key='user.was.adminuser.password' value='{{ encrypted_dmgr_pw }}'/>
Как ни странно, здесь совпадают сгенерированные пароли из установщика графического интерфейса и imutilsc
. Таким образом, сама установка работает, например, установщик может создать серверы и приложения WAS, что было бы невозможно без действительных учетных данных администратора dmgr.