보통 stop스크립트에 weblogic username, password가 기록되어 있지만
관리가 전혀 되어있지 않아 패스워드를 모르는 경우도 있다 이럴때 사용하도록 하자
먼저 출처 불명의 dec.py파일을 만들도록 한다
import os import weblogic.security.internal.SerializedSystemIni import weblogic.security.internal.encryption.ClearOrEncryptedService def decrypt(domainHomeName, encryptedPwd): domainHomeAbsolutePath = os.path.abspath(domainHomeName) encryptionService = weblogic.security.internal.SerializedSystemIni.getEncryptionService(domainHomeAbsolutePath) ces = weblogic.security.internal.encryption.ClearOrEncryptedService(encryptionService) clear = ces.decrypt(encryptedPwd) print "Decrypted Password:" + clear try: if len(sys.argv) == 3: decrypt(sys.argv[1], sys.argv[2]) else: print "INVALID ARGUMENTS" print " Usage: java weblogic.WLST dec.py $domain_home $encrypted_password" print " Example:" print " java weblogic.WLST dec.py D:/Oracle/Middleware/user_projects/domains/base_domain {AES}819R5h3JUS9fAcPmF58p9Wb3syTJxFl0t8NInD/ykkE=" except: print "Unexpected error: ", sys.exc_info()[0] dumpStack() raise
파일을 생성하고 해당파일을 아무곳에 두고
$DOMAIN_HOME\bin에 있는 setDomainEnv.sh or cmd 를 먼저 실행하고 아래의 명령을 수행한다
$DOMAIN_HOME\bin
java weblogic.WLST dec.py $DOMAIN_HOME {AES}yay4B4DMurMJ0JJaQMRQWqqDimqiqp/2DzLYcNiLC2I=
위 {AES}으로 시작되는 굵은 글씨는 boot.properties 에있는 password= 이후 부분이다
명령을 날려 복호화를 진행한다
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
Decrypted Password:weblogic1
눈치빠른 분들은 아시겠지만 JDBC xml 에 있는 암호화된 암호도 복호화가 가능하다
'Technical posts > Weblogic' 카테고리의 다른 글
웹로직을 웹서버 없이 방화벽으로 로드발란싱할때 설정 (F5 with weblogic) (0) | 2019.12.19 |
---|---|
weblogic 12c MOXy problem / 웹로직 11g에서 12c로 업그레이드 문제 (0) | 2019.09.29 |
Weblogic 프로세스 확인 RUNNING이 아니면 강제종료 (0) | 2015.10.22 |
Java VisualVM으로 remote 모니터링하기 (0) | 2014.09.22 |
WAS 에서 DB로 접속 불가 java.sql.SQLRecoverableException: IO Error: Connection reset (9) | 2014.09.22 |
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."