如何解密WebLogic控制台和Java密钥库密码?
在Middleware团队工作时,可能会遇到WebLogic环境设置是由其他人完成的,或者你不知道密码,但你有服务器访问权限的情况。
如果你遇到这种情况并且需要知道密码,那么以下信息对你很有帮助。
解密WebLogic控制台密码
假设你拥有服务器访问权限并使用相应的UNIX帐户登录。
进入Oracle的bin目录(oracle_home/common/bin)。
执行wlst.sh。
./wlst.sh
你将进入离线模式的WLST提示符,然后调用以下命令:
wls:/offline> domain = "/opt/apps/user_projects/domains/domain_name"
注意:根据需要更改域路径。
wls:/offline> service = weblogic.security.internal.SerializedSystemIni.getEncryptionService(domain) wls:/offline> encryption = weblogic.security.internal.encryption.ClearOrEncryptedService(service) wls:/offline> print encryption.decrypt("{AES}WDhZb5/IP95P4eM8jwYITiZs01kawSeliV59aFog1jE=") weblogic123 wls:/offline>
注意:以AES开头的加密代码可以在boot.properties文件中找到。
如上所示,密码被解密为weblogic123
解密WebLogic Java密钥库密码
如果你不确定WebLogic Java密钥库的密码是什么,那么可以使用以下wlst方法来解码它。
从Oracle home>>bin目录调用wlst.sh并执行以下命令
wls:/offline> domain = "/opt/apps/user_projects/domains/domain_name"
注意:根据需要更改域路径。
wls:/offline> service = weblogic.security.internal.SerializedSystemIni.getEncryptionService(domain) wls:/offline> encryption = weblogic.security.internal.encryption.ClearOrEncryptedService(service) wls:/offline> print encryption.decrypt("{AES}WDhZb5/IP95P4eM8jwYITiZs01kawSeliV59aFog1jE=") weblogic123 wls:/offline>
注意:以AES开头的加密字符串可以在config.xml中找到。
在解密时可能会遇到以下问题。
wls:/offline> print encryption.decrypt("{AES}yM9zSPu4d57o83Hi3yromUP3Vzu+FUTpHMwl1U90kMM=") Traceback (innermost last): File "", line 1, in ? at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:139) at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:187) at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:96) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) weblogic.security.internal.encryption.EncryptionServiceException: weblogic.security.internal.encryption.EncryptionServiceException
如果遇到上述错误,则需要删除末尾的斜杠。
从
wls:/offline> print encryption.decrypt("{AES}yM9zSPu4d57o83Hi3yromUP3Vzu+FUTpHMwl1U90kMM=")
到
wls:/offline> print encryption.decrypt("{AES}yM9zSPu4d57o83Hi3yromUP3Vzu+FUTpHMwl1U90kMM=")
我希望以上快速指南能帮助你解密WebLogic控制台和Java密钥库的密码。
有兴趣学习Oracle WebLogic管理?请查看这个online course。
文章由Yagnam Amarender Reddy撰写