Technical posts/Oracle

오라클 wallet 암호를 까먹었을때

ODB 2020. 11. 30. 07:33

오늘 동료 DBA중 한분이 이전 DBA가 만들어둔 wallet가지고 씨름을 하고 계셨다

나보고 패스워드를 물어봤는데 난 알수가 없었고

암호관리하는 디비에도 해당관련 암호가 없었다

그래서 웹로직 패스워드도 복호화가 가능하기에 wallet역시 허술하게 관리하지 않을까 싶어서 찾아봤는데

역시나 복호화는 아니지만 새 wallet을 기존내용물을 유지한 상태로 새 월렛을 만들어주는 프로그램이 있어서 공유할까 한다

https://github.com/mguessan/oracle-wallet-recover

이고

ant로 컴파일을 해야한다

먼저 www.oracle.com/database/technologies/appdev/jdbc-ucp-19-8-c-downloads.html 에서 oraclepki.jar, osdt_cert.jar, osdt_cert.jar 3개의 파일을 다운받고

ant.apache.org/bindownload.cgi 에서 ant를 OS맞게 다운받는다

이후 github.com/mguessan/oracle-wallet-recover/archive/master.zip 에서 소스를 다운을 받아서

oracle-wallet-recover master.zip을 압축푼 폴더에 lib 폴더를 만들고 1번째에서 다운받았던 jar파일 3개를 넣은다음

ant를 실행한다

그러면 컴파일이 되고 dist폴더안에 recoverwallet.jar파일을 확인할수 있다

사용법은 

java -jar recoverwallet.jar <wallet_원본경로> <wallet_새경로> <패스워드>

로 명령을 내리면 되고

위 명령 실행시 저장된 client.connect_string, client.password, client.username이 복호화 되어 plain text로 보인다

복호화 된다는것 자체가 조금 문제긴 하지만 진짜 필요한 경우에 쓰면 좋을것 같다

"난 컴파일을 도저히 못하겠다"라고 하시는 분들은 이메일을 적어 댓글을 작성해주시면 컴파일된 버전을 보내드리도록 하겠습니다

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."