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

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

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Won't Do
    • P2: Important
    • None
    • 5.10.0
    • Network: Proxies
    • 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

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: