Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-66601

QT lacks supports for secure HTTPS proxies, i.e. add QNetworkProxy::HttpsProxy

    XMLWordPrintable

    Details

    • Type: Suggestion
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Won't Do
    • Affects Version/s: 5.10.0
    • Fix Version/s: None
    • Component/s: Network: Proxies
    • Labels:
      None

      Description

      PAC files can specify that a client to proxy connection should be secure using the "HTTPS host:port" return value instead of "PROXY host:port":

      https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file

      When I attempt this in Qt it seems to map to QNetworkProxy::NoProxy on Windows and there is no provision for a secure connection to the proxy server.

      Please note I am not talking about HTTPS connections to the destination server. I know this can be achieved with CONNECT over HTTP to the proxy. Corporate proxy servers sometimes require HTTPS to the proxy itself and this doesn't seem to be supported in Qt.

      Chrome does support secure HTTPS proxies as shown in the function  GetSchemeFromPacTypeInternal:

      https://github.com/adobe/chromium/blob/master/net/proxy/proxy_server.cc 

      and:

      http://dev.chromium.org/developers/design-documents/secure-web-proxy 

      It supports both the "PROXY" and "HTTPS" PAC return values.

      There is no provision for "HTTPS" in QNetworkProxyFactory::systemProxyForQuery which is probably due to it not being supported in libproxy.

      There is no support for HTTPS proxies in libproxy's format_pac_response function in:

      https://github.com/libproxy/libproxy/blob/5c19cfe944ace2645e19f79c0c1008fea984040b/libproxy/proxy.cpp

      It would be great if this could be supported in Qt so that Qt apps can work correctly on corporate networks.

      We currently considering having to do one of the following:

      • Attempt to build our own version of Qt with HTTPS proxy support
      • Use OS specific HTTP transport APIs instead of Qt network classes

       

       

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              • Assignee:
                tpochep Timur Pocheptsov
                Reporter:
                simonp1234 Simon Perkins
              • Votes:
                5 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes