Russian Qt Forum

Qt => Работа с сетью => Тема начата: Caduceus от Март 05, 2012, 14:30



Название: Для HTTPS нужен OpenSSL?
Отправлено: Caduceus от Март 05, 2012, 14:30
На отсылку запроса GET с ссылкой HTTPS ничего не происходит. Вообще.
Нужен для таких запросов OpenSSL?


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Bepec от Март 05, 2012, 14:39
Смотря куда, смотря как.

Некоторые сайты просто отсылают данные на https.

Некоторые требуют сертификации.

Проверить просто - открой fancybrowser и попытайся открыть страничку. Открылась - молодца. Не открылась - нужно сертификацию делать.

PS openSSL по умолчанию скомпилирована в Qt SDK.

PPS сертификацию я сделать не смог, ибо когда интересовался, слишком мало знаний было :)


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: mutineer от Март 05, 2012, 14:41
Смотря куда, смотря как.

Некоторые сайты просто отсылают данные на https.

И для этого openSSL не нужен?


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Bepec от Март 06, 2012, 07:23
PS openSSL по умолчанию скомпилирована в Qt SDK.

PPS сертификацию я сделать не смог, ибо когда интересовался, слишком мало знаний было :)


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Alex Custov от Март 19, 2012, 15:59
Нужно скачать дистрибутив openssl для винды, и из него взять библиотеки libeay32.dll и ssleay32.dll и положить рядом с бинарником. Не уверен по поводу других библиотек. Вообще, это неплохо бы переместить в готовые решения или уроки.


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Alex Custov от Март 19, 2012, 16:01
PS openSSL по умолчанию скомпилирована в Qt SDK.

под windows openSSL по умолчанию не скомпилирована в Qt SDK. По лицензионным причинам вкомпилирована только поддержка внешних openssl библиотек, открываемых через dlopen.


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Bepec от Март 19, 2012, 20:24
Там даже в ассистенте написано - идет в составе SDK for Windows


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Alex Custov от Март 19, 2012, 20:36
Там даже в ассистенте написано - идет в составе SDK for Windows

http://qt-project.org/doc/qt-4.8/ssl.html


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: CuteBunny от Март 20, 2012, 05:01
Там даже в ассистенте написано - идет в составе SDK for Windows

http://qt-project.org/doc/qt-4.8/ssl.html

На сколько я помню если качать отдельно либу qt4.8.x бинарником, то openssl там нет, а если качать отдельно весь qt sdk со всеми примочками, то там openssl будет. Я помню, как первый раз скачал весь sdk и запустил тестовый пример на QSslSocket'ах, все работало.


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Bepec от Март 20, 2012, 06:53
Густов не дави интиллектом. А то третьим будешь, у которых "это невозможно", а на деле всё работает и пашет.

openSSL в SDK есть. Если собирать из исходников, то в исходниках нету. Профит, со всем уважением к вам.


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Alex Custov от Март 20, 2012, 16:01
openSSL в SDK есть.

Может он есть, если ставить дополнительные компоненты типа симуляторов (тогда я возьму слова обратно насчёт SDK) или Qt Mobility. Если ставить из SDK чисто Desktop Qt, то его нет. В любом случае, поддержка SSL в самом Qt из SDK сделана через dlopen, и без openssl библиотек она работать не будет на сторонней машине. Позже проверю какой компонент ставит openssl бибилотеки.


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Bepec от Март 20, 2012, 16:47
Ставится из комплекта SDK for Windows. Версии 4.7.2 точно ;)


Название: Re: Для HTTPS нужен OpenSSL?
Отправлено: Alex Custov от Март 20, 2012, 17:46
Ставится из комплекта SDK for Windows. Версии 4.7.2 точно ;)

Стоит Qt SDK с Qt 4.8.0, из компонентов только Desktop Qt. При скачивании HTTPS сайта выдаются ошибки:

Цитировать
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error

Т.к. эта проблема легко гуглится, думаю, что это не только у меня (например (http://www.forum.crossplatform.ru/index.php?showtopic=4712)).