Bug 51767 - [Qt] QWebView::load(QUrl("https://msft.spoppe.com/sites/SPO14/KnowledgeCenter/SitePages/Home.aspx")) showing blank page, not doing redirection required for displaying that web page
Summary: [Qt] QWebView::load(QUrl("https://msft.spoppe.com/sites/SPO14/KnowledgeCenter...
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Qt (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Critical
Assignee: Nobody
URL:
Keywords: Qt, QtTriaged
Depends on: 29413
Blocks:
  Show dependency treegraph
 
Reported: 2010-12-30 22:14 PST by baluvaranasi
Modified: 2014-02-03 03:17 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description baluvaranasi 2010-12-30 22:14:27 PST
Hi,

       I am trying to load a https url by using QWebView::load() method by using Qt Windows 4.7.0. I don't know the exact version of QtWebKit for that. The url is "https://msft.spoppe.com/sites/SPO14/KnowledgeCenter/SitePages/Home.aspx". When i tried this url in the internet explorer, i found that it is redirected to "https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rpsnv=2&ct=1293774959&rver=6%2E1%2E6206%2E0&wp=MBI&wreply=https%3A%2F%2Fmsft%2Espoppe%2Ecom%2F%5Fforms%2Fdefault%2Easpx&lc=1033&id=269115&cbcxt=mai&wlidp=1" url and displaying the content. But when i tried to load this "https://msft.spoppe.com/sites/SPO14/KnowledgeCenter/SitePages/Home.aspx" url, Qt Windows is showing a blank page. Basically it's not doing the redirection needed for displaying the appropriate content. Please find the sample code used below:

main.cpp:

         #include "QWebViewTestApp.h"
         #include <QtGui>
         #include <QApplication>

         int main(int argc, char *argv[])
         {
             QApplication a(argc, argv);
             QWebViewTestApp w;
             w.showMaximized();
             return a.exec();
         }

QWebViewTestApp.h:

         #include <QtGui/QMainWindow>
         #include <QWebView>

         class QWebViewTestApp : public QMainWindow
         {
             Q_OBJECT

             public:
                    QWebViewTestApp(QWidget *parent = 0);
                    ~QWebViewTestApp();
    
             private:
                    QWebView *myWebView;

         };

QWebViewTestApp.cpp:

         QWebViewTestApp::QWebViewTestApp(QWidget *parent)
                 : QMainWindow(parent)
         {
    	     myWebView = new QWebView(this);
	     myWebView->settings()->setAttribute(QWebSettings::PluginsEnabled, true);

             myWebView->load(QUrl("https://msft.spoppe.com/sites/SPO14/KnowledgeCenter/SitePages/Home.aspx")); // case 1
             setCentralWidget(myWebView);
	 }
         QWebViewTestApp::~QWebViewTestApp()
         {
             if (myWebView)
             {
                 delete myWebView;
                 myWebView = NULL;
             }
         }

         Please let me know if you need more information on this. Please verify this ASAP and provide a fix for this.

Thanks & Regards,
BalaSubrahmanyam Varanasi
Comment 1 Benjamin Poulain 2011-01-14 07:08:21 PST
Please follow this to report bugs on QtWebKit: http://trac.webkit.org/wiki/QtWebKitBugs

Markus, Peter, that seems to be SSL handshake problem on Windows. Any chance that has already been fixed with your recent work?
Comment 2 Aparna Nandyal 2011-03-14 02:05:28 PDT
There seems to be a related problem -  https://bugs.webkit.org/show_bug.cgi?id=29413

The URL in this bug and 29413 works fine in Linux. The problem is in SSL handshake on a windows machine in both the bugs.
Comment 3 Thiago Macieira 2011-03-21 06:53:55 PDT
I can confirm an SSL handshake failure.

I get:
SSL error: The root certificate of the certificate chain is self-signed, and untrusted
Download of https://msft.spoppe.com/sites/SPO14/KnowledgeCenter/SitePages/Home.aspx failed: SSL handshake failed

Using the OpenSSL command-line client, it works. This sounds like a bug in QSslSocket. The same happens to login.microsoftonline.com.

My guess is it has to do with the fact that there are two certificates in the chain. We've seen this before.

Please report to bugreports.qt.nokia.com
Comment 4 Marco 2012-06-15 12:21:07 PDT
Have a similar (or same) issue trying to authentificate with facebook using
https://www.facebook.com/dialog/oauth?
    client_id=YOUR_APP_ID
   &redirect_uri=https://www.facebook.com/connect/login_success.html
   &response_type=token
(certainly with replacing YOUR_APP_ID by my ID)

Actually I tried to build the project I downloaded from:
http://code.google.com/p/facebook-cpp-graph-api/
-> downloads
cppFaceBook_GraphApi_Mini_src.rar

webview stays blank. While opening http pages works perfectly fine.

System: Windows 7 64bit, Qt 4.8.2 libary for Windows, Visual Studio 2008 with visual Studio Plugin.

From looking around the web, seems that this bug is in there for a while and has something to do with redirection and not having a peer Certificate.
Only seems to happen related to Windows builds or Nokia Symbian, but not for Linux

Several workarounds where using
reply->ignoreSslErrors();


e.g.
http://stackoverflow.com/questions/10166821/weird-qt-ssl-issue-error-no-error-shows-up-nothing-else-and-if-i-ignore-i 

http://www.developer.nokia.com/Community/Wiki/How_to_ignore_ssl_errors_to_get_https_website_work_on_QML_Webview

http://qt-project.org/forums/viewthread/8911 -> proposing workaround by ignoring SSL errors

http://qt-project.org/forums/viewthread/15949 -> proposing a solution from aurora browser source code

I hope this can help to find the reason and supply a fix.
Comment 6 Jocelyn Turcotte 2014-02-03 03:17:08 PST
=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.