У меня проблема. Я сделал приложение Qt, которое подключается к сайту https. На моей рабочей машине все работает нормально. Когда я пытаюсь проверить свое приложение на чистой машине Windows 7, я заметил следующую проблему:
После того, как я установил новую машину Win7 (установил все обновления), после запуска моего приложения я получил сообщение об ошибке SSL Handshake, SIGNAL (sslErrors (QNetworkReply *, QList)) испускается двумя пустыми строками ошибок и error = QSslError:: NoError. Я действительно искал весь день, почему это происходит, также может воспроизвести его с примерами \network\securesocketclient\release\securesocketclient и доменом "google.com".
Теперь я узнал, что как только я запустил интернет-проводник, обратившись к https://www.google.com, мое приложение также работает как ожидалось, и нет дальнейшие ошибки квитирования приближаются.
Кстати, неважно, на каком сайте вы обращаетесь - это не связано с google.com.
Может кто-нибудь объяснить мне, почему это происходит? Это ошибка в OpenSSL, или Qt, или в обоих?
UPDATE
Я нашел способ жить с этой проблемой для себя, реализуя следующую логику игнорирования:
QSslError ignoreNOErrors(QSslError::NoError);
foreach(QSslError error, errors)
if(error.error() != QSslError::NoError)
qDebug() << error.errorString();
QList<QSslError> expectedSslErrors;
expectedSslErrors.append(ignoreNOErrors);
reply->ignoreSslErrors(expectedSslErrors);
Спасибо