この質問は、 共有 SOコミュニティに関する知識)にのみ尋ねられます(そして答えられます)。
私は最近、(SVNリポジトリからいくつかの変更を受け取った後)私のWebアプリケーションのデプロイメント例外を思い付きました:
<エラー> <デプロイヤー>タスク「1」のID「1350377960779」。エラーは次のとおりです: 'com.rsa.jsafe.JSAFE_PaddingException:アンパディングを実行できませんでした:無効なパッドバイト。' com.rsa.jsafe.JSAFE_PaddingException:アンパディングを実行できませんでした:無効なパッドバイト。 com.rsa.jsafe.ca(Unknown Source)at com.rsa.jsafe.JSAFE_SymmetricCipher.decryptFinal(Unknown Source)at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.Java:124)atweblogic.security。 internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.Java:184)at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.Java:96)切り捨てられました。完全なスタックトレースについては、ログファイルを参照してください原因:com.rsa.jsafe.JSAFE_PaddingException:アンパディングを実行できませんでした:無効なパッドバイト。
答えを見つけるためにグーグルで検索することはあまり役に立ちませんでした。 SVNリポジトリから受け取ったファイルを調べたところ、jdbcアプリケーションリソースが変更されていることに気付きました。
Jdbcリソースをさらに詳しく調べると、実稼働環境でのみ使用されるpassword-encrypted
プロパティを使用していることがわかりました。
<password-encrypted>{AES}some+very+long+encrypted+string</password-encrypted>
そこで、このプロパティをコメントアウトして、開発環境に使用されるプロパティを使用しました。
<properties>
<property>
<name>user</name>
<value>MY_USER</value>
</property>
<property>
<name>password</name>
<value>MY_PASS_IN_PLAIN_TEXT</value>
</property>
</properties>
そして、それはうまくいきました。
私はちょうどこの問題を抱えていました、そして私がしなければならなかったのはパスワードが空白の間に接続プールページにページを保存することだけでした。もちろん、それは失敗するでしょう。次に、パスワードを入力して、もう一度保存します。今回はパッドバイトエラーはなく、必ず接続します。
MaVRoSCy自身の応答は機能するので、便利なものとしてクリックしました。ただし、欠点は、パスワードが表示されるようになったことです(開発環境では問題にならない可能性があります)。
パスワード暗号化に関するこの問題は、weblogicインスタンスでパスワードを再暗号化することで解決できます。
これを行うには、weblogicドメインに移動します。例:Oracle_HOME\user_projects\domains\YOUR_DOMAIN
そして、次のコマンドを実行します。Java weblogic.security.Encrypt YOUR_PASSWORD
これにより、次のように出力されます。{AES} 0gcupcB95gtlr6VYnT3TZK5PxiATDuIUe3kRKd3b/Ag =
これは、weblogicインスタンスの暗号化されたパスワードです。
次に、データソースxml構成内のpassword-encryptedプロパティで置き換えます。
<password-encrypted>{AES}0gcupcB95gtlr6VYnT3TZK5PxiATDuIUe3kRKd3b/Ag=</password-encrypted>