2016-08-30 3 views
1

Я создал конфиг и файл ключа с помощью этой командыПроблемы с расшифровкой WebLogic полномочий

java weblogic.Admin -username test_user -password test_user -userconfigfile C:\temp\testingconfig.config -userkeyfile C:\temp\testingkey.key STOREUSERCONFIG 

конфиги и ключа

weblogic.management.username = {3DES}1VR2QW0Yj3XHj/iEr+z9Mve3mJi0RSCw3J62m1rb063xLAHPTwXcS6X+VRC6tI8xsHriNfYtsB0\= WebLogic. management.password = {3DES}ALU/yO2Zi4Z7SkVj1qJDvckmy7Y1DpDc7654xPIeg2zaj5On6yxa6xB0L4Xf0oS0d/9vtLFkgps\=

Когда я пытаюсь расшифровать эти учетные данные, используя конфигурацию и ключ wi го моего кода Java, я получаю некоторые другие зашифрованное значение:

Пароль = [[email protected]

Имя пользователя = {AES}OLU4ELDpdXulGpd4abYvYbN7i/ngvXbBFZ+/UyYk89I=

Java-код, который я написал,

UsernameAndPassword file = UserConfigFileManager 
        .getUsernameAndPassword(<Path to config file>, 
          <Path to key file>",weblogic.management"); 

Итак, как получить дешифрованный учетные данные в java-коде как test_user/test_user с использованием конфигурации и ключа.

Просьба помочь ..

ответ

0

Для решения этого вопроса, нам необходимо выполнить следующие шаги:

  • Иметь последнюю версию WebLogic. Новые стихи работают с использованием алгоритма безопасности AES .
  • Для получения строкового значения имя пользователя/пароль, мы можем сделать:
    • file.getUsername().toString/file.getPassword().toString
    • file.getUsername()/file.getPassword()
    • new String(file.getUsername())/new String(file.getPassword())

Из всех трех мы в следовать третий. Не знает точной причины. Но создание строкового объекта, а затем извлечение значения через него дает нам правильный результат. Точное значение, которое мы получили в трех случаях, было.

  1. Первый случай: - Имя пользователя/пароль = шифрованные Значение
  2. Второй случай: -

    • Имя пользователя: - правильное значение
    • Пароль: - нулевой
  3. Третий случай:

    • Имя пользователя: - правильное значение
    • Пароль: - правильное значение
0

Пример WLST-скрипт:

from weblogic.security import UserConfigFileManager 

def decrypt(cred_file, secret_key): 
    u_and_p = UserConfigFileManager.getUsernameAndPassword(cred_file, secret_key, "weblogic.management") 
    return (u_and_p.getUsername(), u_and_p.getPassword().tostring()) 

config_path = '/path/to/config/file' 
key_path = '/path/to/key/file' 

print decrypt(config_path, key_path) 

Пример вывода:

('admin', 'Pa$$w0rd') 

Этот код работает в течение нескольких лет для меня без проблем.

И пример того, как создать новую пару из WLST:

import os 
sys.path.append(os.path.dirname(os.path.realpath(sys.argv[0]))) 
from weblogic.security import UserConfigFileManager 
from weblogic.security import UsernameAndPassword 

ADMIN_USERNAME = 'admin' 
ADMIN_PASSWORD = 'Pa$$w0rd' 
CONFIG_PATH = '/path/to/config/file' 
KEY_PATH = '/path/to/key/file' 

System.setProperty('weblogic.management.confirmKeyfileCreation', 'true') 

u_and_p = UsernameAndPassword(ADMIN_USERNAME, ADMIN_PASSWORD) 
UserConfigFileManager.setUsernameAndPassword(u_and_p, CONFIG_PATH, KEY_PATH, 'weblogic.management') 
Смежные вопросы