gpt4 book ai didi

java - IBM WEME J9 无效填充异常

转载 作者:搜寻专家 更新时间:2023-11-01 03:45:26 25 4
gpt4 key购买 nike

我在 Windows Mobile 6 设备上使用 IBM Websphere Everyplace Micro Environment JVM。我的应用程序使用 HTTPS 连接,并且我已正确设置所有内容以将 J9JSSE 包用于 SSL/TLS。在 HTTPS 连接上传输的某些消息可以正常通过,但其他消息会导致客户端出现异常:

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 服务器来配置正在使用的密码套件,唯一可行的是:

SSL_RSA_WITH_NULL_SHA

但这实际上并没有进行任何加密(此处由 null 指定)所以它对我没有用。使用的默认密码套件是:

SSL_RSA_WITH_3DES_EDE_CBC_SHA

这和我尝试过的所有其他方法一样都有这个填充问题。有谁知道可能导致问题的原因以及我该如何解决?

我发现了一个论坛帖子,其中有人建议 J9 CBC 实现中存在错误,但奇怪的是网上没有任何关于此的其他信息。对此问题的任何帮助将不胜感激。

最佳答案

J9 JSSE 实现支持以下密码套件: J9 JSSE and Provider Details

  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_WITH_DES_CBC_SHA
  • SSL_RSA_WITH_NULL_SHA
  • SSL_RSA_WITH_NULL_MD5
  • SSL_RSA_WITH_RC4_128_SHA
  • SSL_RSA_WITH_RC4_128_MD5
  • TLS_RSA_WITH_AES_128_CBC_SHA

.

用户第三方在tomcat上Open SSL

SSL or TLS cipher suites names from the relevant specification and their OpenSSL equivalents

SSL v3.0 密码套件。

 SSL_RSA_WITH_3DES_EDE_CBC_SHA ----> DES-CBC3-SHA SSL_RSA_WITH_DES_CBC_SHA ---------> DES-CBC-SHA SSL_RSA_WITH_NULL_SHA ------------> NULL-SHA SSL_RSA_WITH_NULL_MD5 ------------> NULL-MD5 SSL_RSA_WITH_RC4_128_SHA ---------> RC4-SHA SSL_RSA_WITH_RC4_128_MD5 ---------> RC4-MD5

来自 RFC3268 的 AES 密码套件,扩展了 TLS v1.0

 TLS_RSA_WITH_AES_128_CBC_SHA -----> AES128-SHA

.

如果可能,看看您是否也可以在 IBM Websphere Everyplace Micro Environment JVM 上使用 Open SSL。如果没有,请尝试在 Tomcat 上使用 J9 JSSE。

这里的重点是让服务器和客户端使用相同的密码套件。

关于java - IBM WEME J9 无效填充异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2199596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com