我在Windows Mobile 6設備上使用IBM Websphere Everyplace Micro Environment JVM。我的應用程序使用HTTPS連接,並且我已經正確設置了一切,以便爲SSL/TLS使用J9JSSE程序包。正在HTTPS連接上傳輸的一些消息是通過就好饒人,但其他客戶端上引起異常:IBM WEME J9無效的填充異常
java.io.IOException: invalid padding
at com.ibm.oti.crypto.Util.unpadTLS10(Unknown Source)
at com.ibm.oti.crypto.CL3BasedProvider.decryptImpl(Unknown Source)
at com.ibm.oti.crypto.CL3BasedProvider.cryptUpdate(Unknown Source)
at com.ibm.oti.crypto.Key.cryptFinish(Unknown Source)
at com.ibm.j9.ssl.CipherAlgorithm.decipher(Unknown Source)
at com.ibm.j9.jsse.SSLSocketImpl.readData(Unknown Source)
at com.ibm.j9.jsse.SSLSocketImpl$SSLInputStream.read(Unknown Source)
at com.ibm.j9.jsse.SSLSocketImpl$SSLInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fillbuf(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at com.ibm.oti.net.www.protocol.https.HttpsURLConnection.readln(Unknown Source)
at com.ibm.oti.net.www.protocol.https.HttpsURLConnection.readServerResponse(Unknown Source)
at com.ibm.oti.net.www.protocol.https.HttpsURLConnection.sendRequest(Unknown Source)
at com.ibm.oti.net.www.protocol.https.HttpsURLConnection.doRequest(Unknown Source)
at com.ibm.oti.net.www.protocol.https.HttpsURLConnection.getInputStream(Unknown Source)
我曾嘗試與Apache Tomcat服務器,以confgure的密碼套件是玩弄正在使用的唯一一個,將工作是:
SSL_RSA_WITH_NULL_SHA
,但這實際上並沒有做任何加密(由空在這裏指定的),所以它是沒有用的,我的。所使用的缺省密碼套件是:
SSL_RSA_WITH_3DES_EDE_CBC_SHA
這與我已經試過有這個問題的填充所有其他一起。有誰知道什麼可能導致這個問題,我怎麼解決它?
我發現了一個論壇帖子,有人提出J9 CBC實現中存在一個錯誤,但在網上任何地方沒有其他信息似乎很奇怪。任何有關這個問題的幫助將不勝感激。
不幸的是,在另一個JVM上運行我們的Tomcat服務器不是一個選項。 – DaveJohnston 2010-02-09 14:36:30
tomcat服務器正在使用標準Sun JVM運行,該JVM不支持IBM J9 JVM。過去我們嘗試了另一個JVM,並且我們能夠使用標準的Sun JSSE和JCE文件,但是這個JVM不允許我們這樣做。 – DaveJohnston 2010-02-12 16:09:40