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 |