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

performance - retrieving CA certificates from SIM blocks QSslSocketPrivate::systemCaCertificates() for too long

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: P2: Important P2: Important
    • None
    • 4.7.0
    • Network: SSL
    • None

      Symbian certificate store API is asynchronous, but Qt needs to call it from a synchronous API.
      For this is creates a thread and waits for the thread to complete when all certs have been retrieved.

      In the normal case where all certificates are in the phone memory this completes relatively quickly. (300ms - tolerably bad)
      However when network operator certificates are included in the SIM card it takes much longer, over 1.3 seconds in the case of GEMPLUS.

      The thread should be started early, and systemCaCertificates() not called until a certificate is actually needed (currently it is called on initialisation of SSL). With that kind of change, the certificate retrieval could happen in the background for some apps.

      Test case:
      any user of SSL, e.g. qsslcertificate autotest

      More "real world" case would be the web browser - it doesn't actually need ssl certificates until opening a https URL, but they could be initialised at application startup.

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

            Unassigned Unassigned
            shkearns Shane Kearns
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes