我在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