Russian Qt Forum

Qt => Qt Script, QtWebKit => Тема начата: vipet от Август 12, 2014, 15:09



Название: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: vipet от Август 12, 2014, 15:09
В QWebView не может загрузить ни один сайт по протоколу https.
OS: MacOS 10.9.4
Qt: 5.3.1 из онлайн-инсталлера

Под виндой все ок. По http тоже ок. Какая-то трабла с OpenSSL или с настройками вебкита.

Кто-нибудь сталкивался с подобным? Что можно попробовать кроме пересборки Qt из исходников с опцией -openssl-linked?


Название: Re: QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: vipet от Октябрь 01, 2014, 14:15
решилось наследованием от QNetworkAccessManager и игнорированием ошибок


Название: Re: QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: kai666_73 от Июнь 05, 2015, 14:29
решилось наследованием от QNetworkAccessManager и игнорированием ошибок
Столкнулся с такой же проблемой в ASTRA Linux.
Можете поподробнее описать решение проблемы?


Название: Re: QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: vipet от Июнь 05, 2015, 20:14
решилось наследованием от QNetworkAccessManager и игнорированием ошибок
Столкнулся с такой же проблемой в ASTRA Linux.
Можете поподробнее описать решение проблемы?

Посмотрел код, в итоге сделано это было через наследование от QWebView:


Код:
class WebView : public QWebView
{
    Q_OBJECT
public:
    WebView(QWidget *parent = 0);

...
private slots:
    void handleSslErrors(QNetworkReply* reply, const QList<QSslError> &errors);
};

Код:
void WebView::handleSslErrors(QNetworkReply* reply, const QList<QSslError> &errors)
{
    qDebug() << "handleSslErrors: ";
    foreach (QSslError e, errors)
    {
        qDebug() << "ssl error: " << e;
    }
       
    reply->ignoreSslErrors();
}


Название: Re: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: kai666_73 от Июнь 08, 2015, 11:40
Плюс еще соотв. коннект.
Первым делом пробовал, не помогло.
Думается мне что это связано с тем, что Qt под астру собран без ключа -openssl.

В любом случае, спасибо.


Название: Re: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: Kurles от Июнь 08, 2015, 15:37
Думается мне что это связано с тем, что Qt под астру собран без ключа -openssl.
Что странно, учитывая то, Qt в астре, на сколько я в курсе, основной девелоперский инструмент. В примерах Qt есть проект "examples\network\securesocketclient" - попробуй его собрать и подключиться, к примеру, к ''imap.google.com" на порту 993. Если не подключиться - действительно беда какая-то.


Название: Re: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: kai666_73 от Июнь 08, 2015, 17:40
Думается мне что это связано с тем, что Qt под астру собран без ключа -openssl.
Что странно, учитывая то, Qt в астре, на сколько я в курсе, основной девелоперский инструмент. В примерах Qt есть проект "examples\network\securesocketclient" - попробуй его собрать и подключиться, к примеру, к ''imap.google.com" на порту 993. Если не подключиться - действительно беда какая-то.
Ну, например, с сайтом
https://google.com
проблем нет, а вот с сайтами с недоверенными сертификами беда ((


Название: Re: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: vipet от Июнь 08, 2015, 21:03
ну так в слот заходит оно вообще?


Название: Re: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: Kurles от Июнь 09, 2015, 08:05
Думается мне что это связано с тем, что Qt под астру собран без ключа -openssl.
Что странно, учитывая то, Qt в астре, на сколько я в курсе, основной девелоперский инструмент. В примерах Qt есть проект "examples\network\securesocketclient" - попробуй его собрать и подключиться, к примеру, к ''imap.google.com" на порту 993. Если не подключиться - действительно беда какая-то.
Ну, например, с сайтом
https://google.com
проблем нет, а вот с сайтами с недоверенными сертификами беда ((
Значит Qt собран с поддержкой SSL. Ищите проблему у себя, ignoreSslErrors должно работать.


Название: Re: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: kai666_73 от Июнь 09, 2015, 11:58
ну так в слот заходит оно вообще?
Нет, в слот вообще не заходит.


Название: Re: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: kai666_73 от Июнь 09, 2015, 12:05
Думается мне что это связано с тем, что Qt под астру собран без ключа -openssl.
Что странно, учитывая то, Qt в астре, на сколько я в курсе, основной девелоперский инструмент. В примерах Qt есть проект "examples\network\securesocketclient" - попробуй его собрать и подключиться, к примеру, к ''imap.google.com" на порту 993. Если не подключиться - действительно беда какая-то.
Ну, например, с сайтом
https://google.com
проблем нет, а вот с сайтами с недоверенными сертификами беда ((
Значит Qt собран с поддержкой SSL. Ищите проблему у себя, ignoreSslErrors должно работать.
Голословное утверждение...
Курение исходников Qt показало что при выключенном флаге предкомпиллером выпилено испускание соотв. сигнала, поэтому и не попадаем в слот где должен сработать ignoreSslErrors.
То есть, ситуация странная: поддержка SSL есть, а обработки SSL ошибок нету.


Название: Re: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: Kurles от Июнь 09, 2015, 13:01
Хм. При дефайне QT_NO_OPENSSL вообще выпиливаться поддержка защищённых соединений должна, а не только та часть, которая отвечает за игнорирование ошибок.


Название: Re: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed
Отправлено: kai666_73 от Июнь 09, 2015, 13:18
Хм. При дефайне QT_NO_OPENSSL вообще выпиливаться поддержка защищённых соединений должна, а не только та часть, которая отвечает за игнорирование ошибок.
Согласен, но тут надо курить именно астровские исходники Qt-4.8.6, просто для самопроверки, не более... да и заполучить их проблематично.
Засада с этими "отечественными" ОС  :-\