Russian Qt Forum
Ноябрь 25, 2024, 09:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [SOLVED] QtWebKit: не грузятся сайты по протоколу https: SSL handshake failed  (Прочитано 14343 раз)
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« : Август 12, 2014, 15:09 »

В QWebView не может загрузить ни один сайт по протоколу https.
OS: MacOS 10.9.4
Qt: 5.3.1 из онлайн-инсталлера

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

Кто-нибудь сталкивался с подобным? Что можно попробовать кроме пересборки Qt из исходников с опцией -openssl-linked?
« Последнее редактирование: Октябрь 01, 2014, 14:15 от vipet » Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #1 : Октябрь 01, 2014, 14:15 »

решилось наследованием от QNetworkAccessManager и игнорированием ошибок
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #2 : Июнь 05, 2015, 14:29 »

решилось наследованием от QNetworkAccessManager и игнорированием ошибок
Столкнулся с такой же проблемой в ASTRA Linux.
Можете поподробнее описать решение проблемы?
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #3 : Июнь 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();
}
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #4 : Июнь 08, 2015, 11:40 »

Плюс еще соотв. коннект.
Первым делом пробовал, не помогло.
Думается мне что это связано с тем, что Qt под астру собран без ключа -openssl.

В любом случае, спасибо.
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #5 : Июнь 08, 2015, 15:37 »

Думается мне что это связано с тем, что Qt под астру собран без ключа -openssl.
Что странно, учитывая то, Qt в астре, на сколько я в курсе, основной девелоперский инструмент. В примерах Qt есть проект "examples\network\securesocketclient" - попробуй его собрать и подключиться, к примеру, к ''imap.google.com" на порту 993. Если не подключиться - действительно беда какая-то.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #6 : Июнь 08, 2015, 17:40 »

Думается мне что это связано с тем, что Qt под астру собран без ключа -openssl.
Что странно, учитывая то, Qt в астре, на сколько я в курсе, основной девелоперский инструмент. В примерах Qt есть проект "examples\network\securesocketclient" - попробуй его собрать и подключиться, к примеру, к ''imap.google.com" на порту 993. Если не подключиться - действительно беда какая-то.
Ну, например, с сайтом
https://google.com
проблем нет, а вот с сайтами с недоверенными сертификами беда ((
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #7 : Июнь 08, 2015, 21:03 »

ну так в слот заходит оно вообще?
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #8 : Июнь 09, 2015, 08:05 »

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

Код
C++ (Qt)
while(!asleep()) sheep++;
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #9 : Июнь 09, 2015, 11:58 »

ну так в слот заходит оно вообще?
Нет, в слот вообще не заходит.
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #10 : Июнь 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 ошибок нету.
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #11 : Июнь 09, 2015, 13:01 »

Хм. При дефайне QT_NO_OPENSSL вообще выпиливаться поддержка защищённых соединений должна, а не только та часть, которая отвечает за игнорирование ошибок.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #12 : Июнь 09, 2015, 13:18 »

Хм. При дефайне QT_NO_OPENSSL вообще выпиливаться поддержка защищённых соединений должна, а не только та часть, которая отвечает за игнорирование ошибок.
Согласен, но тут надо курить именно астровские исходники Qt-4.8.6, просто для самопроверки, не более... да и заполучить их проблематично.
Засада с этими "отечественными" ОС  В замешательстве
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.25 секунд. Запросов: 23.