2012-10-16 5 views
7

To pytanie jest zadawane (i odbierane) tylko dla pewnej wiedzy w Społeczności SO.Wyjątek wdrażania blogu: Wyjątek PaddingException: Nie można wykonać operacji wyprowadzania: nieprawidłowy bajt klocka

Niedawno wpadł wyjątek rozmieszczania mojej aplikacji sieci web (po otrzymaniu pewne zmiany z repozytorium SVN) stwierdzili, że:

< Błąd> < Deployer> o identyfikatorze „1350377960779” dla zadania " 1 ". Błąd: "com.rsa.jsafe.JSAFE_PaddingException: Nie można wykonać rozpakowania: nieprawidłowy bajt klocka". com.rsa.jsafe.JSAFE_PaddingException: Nie można wykonać rozpakowania: nieprawidłowy bajt klocka. na com.rsa.jsafe.ca (Unknown Source) na com.rsa.jsafe.JSAFE_SymmetricCipher.decryptFinal (Unknown Source) na weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes (JSafeEncryptionServiceImpl.java:124) na weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString (JSafeEncryptionServiceImpl.java:184) w weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt (ClearOrEncryptedService.java:96) ściętego. zobacz plik dziennika dla pełnego śledzenia stosu Powodowane przez: com.rsa.jsafe.JSAFE_PaddingException: Nie można wykonać unpadding: nieprawidłowy bajt klocka.

Odpowiedz

10

Wyszukiwanie w Google nie było zbyt pomocne. Po sprawdzeniu plików otrzymanych z mojego repozytorium SVN zauważyłem, że zasób aplikacji jdbc został zmieniony.

zbadaniu zasobów JDBC bliżej i okazało się, że było to za pomocą właściwości password-encrypted który jest używany tylko w środowiskach produkcyjnych

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

Więc odkomentowanymi tej nieruchomości i używanych właściwość używany jako środowisko programistyczne:

<properties> 
    <property> 
     <name>user</name> 
     <value>MY_USER</value> 
    </property> 
    <property> 
     <name>password</name> 
     <value>MY_PASS_IN_PLAIN_TEXT</value> 
    </property> 
    </properties> 

I to działało dobrze.

3

Po prostu miałem ten problem, a wszystko, co musiałem zrobić, to zapisać stronę na stronie Pula połączeń, gdy hasło było puste. Oczywiście wtedy by się nie udało. Następnie wprowadź hasło i zapisz ponownie. Tym razem nie ma błędu bajtów padów i nie ma błędu.

+1

Tried to podejście w WebLogic 12.1.3 oraz, gdy jest to możliwe, aby „uratować” zmianę, nie jest w stanie „Activate” Zmiany nadal dając „PaddingException”. – radimpe

+0

@radimpe Być może będziesz musiał tymczasowo usunąć cel, abyś mógł zapisać zmiany w konfiguracji. – yannicuLar

0

Kliknąłem własną odpowiedź MaVRoSCy jako przydatną, ponieważ działa. Ale wadą jest to, że twoje hasło stało się widoczne (może nie być problemem w środowisku programistycznym).

Ten problem z szyfrowaniem haseł można przezwyciężyć poprzez ponowne szyfrowanie hasła w instancji weblogic.

Aby to zrobić, przejdź do domeny WebLogic ex: ORACLE_HOME \ projekty_użytkownika \ domains \ twoja_domena

i wykonać polecenie: java weblogic.security.Szyfrowanie hasło_użytkownika wyświetli coś

to polubią: {} 0gcupcB95gtlr6VYnT3TZK5PxiATDuIUe3kRKd3b AES/Ag =

To jest zaszyfrowane hasło do weblogic instancji.

Następnie po prostu zamień go na swoją zaszyfrowaną hasłem właściwość wewnątrz konfiguracji źródła danych xml.

<password-encrypted>{AES}0gcupcB95gtlr6VYnT3TZK5PxiATDuIUe3kRKd3b/Ag=</password-encrypted> 
Powiązane problemy