ミドルウェア チームで作業していると、Oracle WebLogic 環境のセットアップが他の人によって行われたり、パスワードは分からないがサーバーにアクセスできるという状況が発生する可能性があります。
このような状況に陥ってパスワードを知る必要がある場合は、次のコードを使用するとパスワードを解読できると便利です。
WebLogicコンソールのパスワードを復号化する
これは、サーバーにアクセスし、それぞれの UNIX アカウントでログインしていることを前提としています。
Oracle bin ディレクトリ (oracle_home/common/bin)E に移動します。
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 ホーム>>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 Console と Java キーストアのパスワードを復号化する際に役立つことを願っています。
Oracle WebLogic管理を学ぶことに興味がありますか?この オンラインコース をチェックしてください。
記事を書いたユーザー: ヤグナム・アマレンダー・レディ
