Page 2 of 2

Re: TLS (клиент)

Posted: Wed Dec 27, 2017 8:41 pm
by akron1
Неожиданно выяснилось, что библиотека работает только в виртуальной машине (VMware) с сетевым адаптором NAT и не работает на реальной машине. При этом, сеть на реальной машине определяется и работают все другие сетевые приложения. Странно... Позднее попробую выяснить, в чём причина такого поведения.

Re: TLS (клиент)

Posted: Thu Jan 25, 2018 4:25 pm
by akron1
Я исследовал, насколько возможно, поведение программы на реальной машине.
После установки соединения, программа отправляет сообщение ClientHello. После этого из сокета можно прочитать ответ сервера: ServerHello, Certificate, ServerHelloDone. Затем программа отправляет сообщения ClientKeyExchange, ChangeCipherSpec, Finished. Не знаю, получает ли сервер эти сообщения, но ответ (даже сигнальное сообщение об ошибке) от сервера не приходит. Другие приложения (браузер) на этой же машине работают. Могу предположить только вот что: браузер использует порт 80 (http), а не 443 (https). Отличия между ними в том, что порт 443 блокирующий, а 80 -- нет. Может быть проблема в реализации блокирующих сокетов. Возможно http://board.kolibrios.org/viewtopic.php?f=40&t=2460 не заработало по той же причине. Углубляться дальше пока нет желания и придется оставить как есть. Может быть я ошибаюсь и проблема не в сетевой подсистеме, а в моем коде (хотя под Windows библиотека работает без проблем), тогда, возможно, кому-то удастся сделать полностью работающую библиотеку.

Re: TLS (клиент)

Posted: Sun Jun 24, 2018 2:43 pm
by hidnplayr
akron1: what do you mean port 443 is blocking and 80 is not?
You choose when writing the application wether you want to use blocking or non blocking socket...

Can you explain more in detail what is the problem?

Re: TLS (клиент)

Posted: Mon Jun 25, 2018 11:07 am
by akron1
hidnplayr, отвечу по-русски, так как по-английски я "read only".

У меня нет какого-либо четкого предположения о причине такого поведения программы.
То, что библиотека работает в Windows и не работает в KolibriOS, заставляет меня предполагать ошибку в API. Но я в этом не уверен.

Сейчас у меня нет интереса этим заниматься. Работа с сетью -- это всё же не моя область. Да и вообще, сейчас KolibriOS это мертвый проект. Причин этому много:
- x86-32 уходит в историю
- широко распространились мобильные устройства
- производительность процессоров значительно увеличилась, старые компьютеры утилизированы, а для новых KolibriOS не нужна
- невозможно портировать современный браузер. К тому же, современный интернет требует очень много ресурсов компьютера, а это сводит на нет преимущества компактной и быстрой ОС.
- невозможно поддерживать весь ассортимент современного оборудования

Раньше я использовал KolibriOS в качестве испытательного полигона для своего компилятора, просто потому, что для Windows/Linux уже всё написано, ничего нового не сделаешь. Теперь я планирую перейти к программированию микроконтроллеров либо вообще забросить кодинг.

Re: TLS (клиент)

Posted: Mon Jun 25, 2018 12:37 pm
by hidnplayr
okay, looks like I will have to do some testing myself to see what is going on. :)
Thank you for your contributions and good luck with any future projects!

Re: TLS (клиент)

Posted: Mon Sep 07, 2020 2:43 pm
by denius
В гитхабе есть урезанный клиент TLS для работы с HTTPS. Хотя я новичок, не знаю как реализовать эту поддержку в Kolibri OS. Кто может помочь?