Модераторы: javastic, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Еще раз о https... 
:(
    Опции темы
satellite
Дата 13.12.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 19.9.2006

Репутация: нет
Всего: нет



Цитата(eugine_s @ 13.12.2007,  14:38)
satellite,  не очень хороший код у тебя получился.

1. В startApp() не стоит перезагружать "тяжелым" кодом.
2. В startApp() нельзя запускать процессы которые могут привести к дедблокам (тупиковым ситуациям), да и вообще работу с сокетом нужно делать в отдельном потоке.


Целью этого кода было просто соединение к серверу используя сокет и ничего более, конечно, он не выглядел бы так в конечном варианте.
А за советы спасибо )))
PM MAIL   Вверх
engineer.dev
Дата 7.1.2008, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 18.12.2007

Репутация: нет
Всего: нет



Как вариант получилась бодяга...
Берем с bouncycastle.org либу lcrypto-j2me-138.zip


 
Код

            .
            import org.bouncycastle.crypto.tls.*;
            .
            .
            .
            CertificateVerifyer cert = new AlwaysValidVerifyer();
            SocketConnection hc = (SocketConnection) Connector.open(url, Connector.READ_WRITE, true);
            TlsProtocolHandler tp = new TlsProtocolHandler(hc.openInputStream(), hc.openOutputStream());
            tp.connect(cert);
            InputStream ti = tp.getInputStream();
            OutputStream to = tp.getOutputStream();
            .
            .
           

Вроде обрабатывает нормально но заметил пару глюков...
В частности при приеме ответа в UTF-8 почему-то из потока пропадают указаные адреса в теле странички например должно выводится https://78.220.195.230/index.php вместо этого принимаем https:///index.php...


PM MAIL ICQ Jabber   Вверх
VOS
Дата 8.1.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 31.1.2007

Репутация: 6
Всего: 8



engineer.dev,  спасибо за информацию по Bouncy Castle/TLS. Хотел на этот предмет после праздников ее посмотреть.
Скажите, после обсфукатора насколько размер jar увеличивается, если юзать их реализацию https, а не встроенную?
PM MAIL   Вверх
engineer.dev
Дата 11.1.2008, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 18.12.2007

Репутация: нет
Всего: нет



Цитата(VOS @ 8.1.2008,  12:10)
engineer.dev,  спасибо за информацию по Bouncy Castle/TLS. Хотел на этот предмет после праздников ее посмотреть.
Скажите, после обсфукатора насколько размер jar увеличивается, если юзать их реализацию https, а не встроенную?

в общем гдет от 800 кило до чуть больше метра (может такой здоровый размер из-за моих кривых рук, т.к. я не заморачивался а засунул всю либу ;), кстати если будете пользоваться либами бонсикастэл там есть несльколько подводных камней, так там есть классы java.* которые конфликруют и надо их переименовывать.... ну короче как руки дайдут дайте знать у меня самого ща несколько актуальна тема https ;)
PM MAIL ICQ Jabber   Вверх
VOS
Дата 11.1.2008, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 31.1.2007

Репутация: 6
Всего: 8



Спасибо. Про траблы с java.* при использовании этой библиотеки я знаю, в 2-х проектах использовал ее.
Цитата

в общем гдет от 800 кило до чуть больше метра 

Многовато что-то, может это  без прогонки через обсфукатор? У меня примерно такой jar получался, когда юзал их реализацию 
RSA (генерация ключей, подпись, верификация)  без обсфукатора.  После него jar где-то 32 кБ получался. 










PM MAIL   Вверх
engineer.dev
Дата 14.1.2008, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 18.12.2007

Репутация: нет
Всего: нет



Кстати напоролся на такой подводный камень... даже нет не камень булыжник блин...
в JSR-118 озвучили 

Цитата

15.4.2 Network Access Requirements
Unidentified third party applications MUST use the normal HttpConnection and HttpsConnection APIs to
access web and secure web services. There are no restrictions on web server port numbers through these
interfaces. The implementations augment the protocol so that web servers can identify unidentified third party
applications. The Product-Token “UNTRUSTED” refers to the Unidentified Third Party Protection Domain
and is retained to maintain backward compatibility with JTWI. The following MUST be implemented:
• The implementation of HttpConnection and HttpsConnection MUST include in the User-Agent header
with the Product-Token “UNTRUSTED/1.0”. User-Agent headers supplied by the application MUST
NOT be deleted.
• The implementation of SocketConnection using TCP sockets MUST throw java.lang.SecurityException
when a MIDlet suite belonging to the Unidentified Third Party Protection Domain attempts to connect on
ports 80 and 8080 (http) and 443 (https).
• The implementation of SecureConnection using TCP sockets MUST throw java.lang.SecurityException
when a MIDlet suite belonging to the Unidentified Third Party Protection Domain attempts to connect
on port 443 (https).
• The implementation of the method DatagramConnection.send MUST throw java.lang.SecurityException
when a MIDlet suite belonging to the Unidentified Third Party Protection Domain attempts to send
datagrams to any of the ports 9200-9203 (WAP Gateway).
• The above requirements SHOULD be applied regardless of the API used to access the network. For
example, the javax.microedition.io.Connector.open and javax.microedition.media.Manager.createPlayer
methods SHOULD throw java.lang.SecurityException if access is attempted to these port numbers
through a means other than the normal HttpConnection and HttpsConnection APIs.


короче это значит что если ваше мидлет не подписан то хрен вы сможете воспользоваться сокет соединением через определенные порты такие как 80, 8080, 443 и т.д.
я долго мучался не понимая почему на эмуле все пучком а на мобиле не идет...
PM MAIL ICQ Jabber   Вверх
VOS
Дата 14.1.2008, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 31.1.2007

Репутация: 6
Всего: 8



Попробуйте на сервере SSL повесить на другой  порт, например 4443

Это сообщение отредактировал(а) VOS - 14.1.2008, 22:00
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.1084 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.