如何解密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撰写

类似文章