본문 바로가기
WAS/WEBLOGIC

15. 암호화된 계정 정보 복호화

by coldplayer83 2023. 7. 6.
728x90
wlst를 사용하여 boot.properties나 DB연동 비밀번호와 같은 암호화된 정보의 복호화가 가능함
 
1. 암호화 된 패스워드 정보 확인
DB의 경우)
vi /sw/was/weblogic/12.2.1.4/domains/base_domain/config/jdbc/${DATASOURCE_NAME}.xml

<password-encrypted>{AES256}J2O0ZSajCB7LvuodwfjZGy0vKWbGYA5eEtPTm/NBwOc=</password-encrypted>

 

boot.properties)

vi boot.properties

 

2. decrypt.py 파일 생성 후 실행 권한 주기

decrypt.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 decryptPassword.py <DOMAIN_HOME> <ENCRYPTED_WORD>"
        print " Example:"
        print "    java weblogic.WLST decryptPassword.py D:/Oracle/Middleware/user_projects/domains/base_domain {AES}819R5h3JUS9fAcPmF58p9Wb3syTJxFl0t8NInD/ykkE="
except:
    print "Unexpected error: ", sys.exc_info()[0]
    dumpStack()

 

3. setDomainEnv.sh 실행

cd ${DOMAIN_HOME}/bin
. ./setDomainEnv.sh

 

4. wlst.sh 실행

형식 : java weblogic.WLST ${wlst 스크립트 경로} ${DOMAIN_HOME} ${암호문자열}

 

setDomainEnv.sh 사용 안하는 경우)

java -cp ${WL_HOME}/server/lib/weblogic.jar weblogic.WLST ${wlst 스크립트 경로} ${DOMAIN_HOME} ${암호문자열}

java weblogic.WLST ./decrypt.py ${DOMAIN_HOME} {AES256}J2O0ZSajCB7LvuodwfjZGy0vKWbGYA5eEtPTm/NBwOc=

 

5. 복호화된 정보 확인

'WAS > WEBLOGIC' 카테고리의 다른 글

17. weblogic 클러스터링  (0) 2023.07.06
16. DataSource 생성  (0) 2023.07.06
14. 관리자 계정 설정  (0) 2023.07.05
13. 로그 경로 변경  (0) 2023.07.05
12. 개발모드 / 운영모드  (0) 2023.07.04