12

この質問は、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)切り捨てられました。

4

3 に答える 3

15

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

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

于 2012-10-16T09:43:30.263 に答える
6

この問題が発生したばかりで、パスワードが空白のときに [接続プール] ページにページを保存するだけで済みました。もちろん、それでは失敗します。次に、パスワードを入力して、もう一度保存します。今度はPadバイトエラーもなく、無事に接続。

于 2014-09-29T18:06:34.990 に答える
1

MaVRoSCy 自身の応答を便利なものとしてクリックしました。ただし、パスワードが表示されるという欠点があります (開発環境では問題にならない可能性があります)。

パスワードの暗号化に関するこの問題は、weblogic インスタンスでパスワードを再暗号化することで解決できます。

これを行うには、weblogic ドメインに移動します。例: ORACLE_HOME\user_projects\domains\YOUR_DOMAIN

そして、次のコマンドを実行します: java weblogic.security.Encrypt YOUR_PASSWORD

次のような出力が得られます: {AES}0gcupcB95gtlr6VYnT3TZK5PxiATDuIUe3kRKd3b/Ag=

これは、WebLogic インスタンスの暗号化されたパスワードです。

次に、データソース xml 構成内のパスワードで暗号化されたプロパティでそれを置き換えます。

<password-encrypted>{AES}0gcupcB95gtlr6VYnT3TZK5PxiATDuIUe3kRKd3b/Ag=</password-encrypted>
于 2017-08-04T18:29:06.693 に答える