IBM WEME J9 Исключение неверного заполнения - PullRequest
4 голосов
/ 04 февраля 2010

Я использую JVM IBM Websphere Everyplace Micro Environment на устройстве Windows Mobile 6. Мое приложение использует соединения 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

но на самом деле это не делает никакого шифрования (указанного здесь нулем), поэтому оно бесполезно для меня. Используется набор шифров по умолчанию:

SSL_RSA_WITH_3DES_EDE_CBC_SHA

И это, наряду со всеми другими, которые я пробовал, имеет эту проблему заполнения. Кто-нибудь знает, что может быть причиной проблемы и как я могу ее решить?

Я нашел одно сообщение на форуме, где кто-то предположил, что в реализации J9 CBC была ошибка, но кажется странным, что в Интернете нет никакой другой информации по этому вопросу. Любая помощь с этим вопросом будет принята с благодарностью.

Ответы [ 3 ]

1 голос
/ 10 февраля 2010

Следующие комплекты шифров поддерживаются реализацией JSSE J9: JSS JSSE и сведения о провайдере

  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_WITH_DHA *C1010 *
  • 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
0 голосов
/ 08 апреля 2010

Итак, окончательный ответ, к которому я пришел, - переключиться на другую JVM. Очень мало поддержки со стороны IBM, и просто попытка заставить кого-то продать нам лицензии на свою JVM оказалась очень сложной. Думаю, им нравится иметь дело только с огромными организациями.

Теперь использую CEE-J от Skelmir и пока что это намного более перспективно.

0 голосов
/ 09 февраля 2010

Какой провайдер JDK вы используете для запуска сервера Apache Tomcat?Если вы не используете IBM JDK, вы можете попробовать использовать это.Это гарантирует, что поставщик набора шифров на клиенте и сервере одинаков (IBM).

http://www.ibm.com/developerworks/java/jdk/

Обновление: Можно ли использовать тот же поставщик JVM, что и Tomcat Server?, для Windows Mobile 6?Какой поставщик JDK вы используете для запуска сервера Apache Tomcat?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...