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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QNetworkAccessManager и самоподписанные сертификаты  (Прочитано 2446 раз)
MaxoBik
Гость
« : Октябрь 11, 2015, 13:24 »

Доброго времени суток, пытаюсь осуществить работу QNetworkAccessManager+QNetworkRequest по https(ssl) с самоподписанными сертификатами. Но получаю всегда ошибку: SSL handshake failed, а на стороне сервера(апача):[Sun Oct 11 10:10:40 2015] [error] [client 127.0.0.1] Invalid method in request \x16\x03\x01.
Перепробовал уже все варианты из гугла:
Код:

QNetworkRequest request;
.....
QSslConfiguration conf = request.sslConfiguration();
conf.setPeerVerifyMode(QSslSocket::VerifyNone);
request.setSslConfiguration(conf);
.....
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
 // этот сигнал вообще не вызывается при ошибке...
QObject::connect(manager, &QNetworkAccessManager::sslErrors, [=](QNetworkReply * reply, const QList<QSslError> & errors){
                //reply->ignoreSslErrors();
reply->ignoreSslErrors(errors);
} );
.....
QFile file("some_path/certificate.crt");
if ( file.open(QIODevice::ReadOnly))
{
   QSslSocket::addDefaultCaCertificate(QSslCertificate(file.readAll()));
   file.close();
}
Срабатывает только, если добавить роут к домену в hosts:
Код:
127.0.0.1       example.com
В чем тут может быть проблема?
ПС либы Open SSL доступны в path и проблема не в этом.
« Последнее редактирование: Октябрь 11, 2015, 13:36 от MaxoBik » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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