web-dev-qa-db-ja.com

Weblogic配置例外:PaddingException:アンパディングを実行できませんでした:無効なパッドバイト

この質問は、 共有 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:アンパディングを実行できませんでした:無効なパッドバイト。

12
MaVRoSCy

答えを見つけるためにグーグルで検索することはあまり役に立ちませんでした。 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>

そして、それはうまくいきました。

15
MaVRoSCy

私はちょうどこの問題を抱えていました、そして私がしなければならなかったのはパスワードが空白の間に接続プールページにページを保存することだけでした。もちろん、それは失敗するでしょう。次に、パスワードを入力して、もう一度保存します。今回はパッドバイトエラーはなく、必ず接続します。

5
Mindbender

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>
0
dchang