TLS (клиент)

...
  • Я исследовал, насколько возможно, поведение программы на реальной машине.
    После установки соединения, программа отправляет сообщение ClientHello. После этого из сокета можно прочитать ответ сервера: ServerHello, Certificate, ServerHelloDone. Затем программа отправляет сообщения ClientKeyExchange, ChangeCipherSpec, Finished. Не знаю, получает ли сервер эти сообщения, но ответ (даже сигнальное сообщение об ошибке) от сервера не приходит. Другие приложения (браузер) на этой же машине работают. Могу предположить только вот что: браузер использует порт 80 (http), а не 443 (https). Отличия между ними в том, что порт 443 блокирующий, а 80 -- нет. Может быть проблема в реализации блокирующих сокетов. Возможно http://board.kolibrios.org/viewtopic.php?f=40&t=2460 не заработало по той же причине. Углубляться дальше пока нет желания и придется оставить как есть. Может быть я ошибаюсь и проблема не в сетевой подсистеме, а в моем коде (хотя под Windows библиотека работает без проблем), тогда, возможно, кому-то удастся сделать полностью работающую библиотеку.
  • 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?
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • hidnplayr, отвечу по-русски, так как по-английски я "read only".

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

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

    Раньше я использовал KolibriOS в качестве испытательного полигона для своего компилятора, просто потому, что для Windows/Linux уже всё написано, ничего нового не сделаешь. Теперь я планирую перейти к программированию микроконтроллеров либо вообще забросить кодинг.
  • 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!
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • В гитхабе есть урезанный клиент TLS для работы с HTTPS. Хотя я новичок, не знаю как реализовать эту поддержку в Kolibri OS. Кто может помочь?
  • Who is online

    Users browsing this forum: No registered users and 3 guests