2012-10-16 32 views
7

此問題被詢問(並回答)到share有關SO社區的一些知識。Weblogic部署異常:PaddingException:無法執行unpadding:無效pad字節

我最近跟我的web應用程序的部署異常想出了那個說(收到SVN倉庫的一些變化後):

<錯誤> <部署>與任務ID爲「1350377960779」「 1。錯誤是:'com.rsa.jsafe.JSAFE_PaddingException:無法執行unpadding:無效填充字節。' com.rsa.jsafe.JSAFE_PaddingException:無法執行unpadding:無效填充字節。 在com.rsa.jsafe.ca(未知來源) 在com.rsa.jsafe.JSAFE_SymmetricCipher.decryptFinal(未知來源) 在weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:124) 在weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:184) at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:96) 截斷。請參閱完整棧跟蹤的日誌文件 引起者:com.rsa.jsafe.JSAFE_PaddingException:無法執行unpadding:無效填充字節。

回答

10

使用谷歌搜索找到答案不是很有幫助。在檢查從我的SVN存儲庫收到的文件後,我注意到jdbc應用程序資源已更改。

檢查JDBC資源更緊密地我發現,它是使用它僅用於生產環境

<password-encrypted>{AES}some+very+long+encrypted+string</password-encrypted> 

所以我註釋掉此屬性和使用用於開發環境屬性的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> 

而且工作得很好。

3

我剛剛遇到了這個問題,而我所要做的只是將頁面保存在Connection Pool頁面上,而密碼爲空。當然那會失敗。然後輸入密碼並再次保存。這次沒有填充字節錯誤,並且確認無誤。

+1

在WebLogic 12.1.3中嘗試了這種方法,雖然可以'保存'更改,但仍無法'激活更改'仍然給出'PaddingException'。 – radimpe

+0

@radimpe您可能需要暫時刪除目標,以便您可以保存配置更改。 – yannicuLar

0

我點擊MaVRoSCy自己的迴應作爲有用的,因爲它的作品。 但是它的缺點是你的密碼變得可見(在開發環境中可能不是問題)。

使用密碼加密的這個問題可以通過在您的weblogic實例中重新加密密碼來克服。

要做到這一點,去你的WebLogic域,例如:ORACLE_HOME \ user_projects \域\ YOUR_DOMAIN

並執行以下命令: 的Java weblogic.security。加密YOUR_PASSWORD

這將輸出類似: {} AES 0gcupcB95gtlr6VYnT3TZK5PxiATDuIUe3kRKd3b /銀=

這是你爲你的WebLogic實例的加密密碼。

然後只需將其替換爲密碼加密的屬性在datasource xml配置中。

<password-encrypted>{AES}0gcupcB95gtlr6VYnT3TZK5PxiATDuIUe3kRKd3b/Ag=</password-encrypted> 
相關問題