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

CA certificate effective date for dates before 2000 are wrong

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.9.2
    • 5.9.1
    • Network: SSL
    • None
    • macOS 10.12.5

      xcode 8.3
    • 07c0e0fdcf6ccea2a60b2acc7059f56a834ad040

    Description

      It seems that any date where the year is 2 digit is considered to be 20XX.

      The problem is that if you read some CA certificates on macOS. Some have effective dates before 2000.

       

      Try the following program

      #include <QSslCertificate>
      #include <QSslConfiguration>
      #include <QDateTime>
      #include <QDebug>
      
      int main()
      {
          for (const QSslCertificate &cert : QSslConfiguration::defaultConfiguration().caCertificates()) {
              if (cert.effectiveDate() > QDateTime::currentDateTime())
                  qDebug() << "HOHO" << cert.subjectInfo(QSslCertificate::CommonName) << cert.effectiveDate() << cert.expiryDate();
          }
      }
      
      

       

      It gives me 

      HOHO ("Entrust.net Certification Authority (2048)") QDateTime(2099-12-24 17:50:51.000 UTC Qt::TimeSpec(UTC)) QDateTime(2019-12-24 18:20:51.000 UTC Qt::TimeSpec(UTC))
      HOHO ("VeriSign Class 1 Public Primary Certification Authority - G3") QDateTime(2099-10-01 00:00:00.000 UTC Qt::TimeSpec(UTC)) QDateTime(2036-07-16 23:59:59.000 UTC Qt::TimeSpec(UTC))
      HOHO ("VeriSign Class 2 Public Primary Certification Authority - G3") QDateTime(2099-10-01 00:00:00.000 UTC Qt::TimeSpec(UTC)) QDateTime(2036-07-16 23:59:59.000 UTC Qt::TimeSpec(UTC))
      HOHO ("VeriSign Class 3 Public Primary Certification Authority - G3") QDateTime(2099-10-01 00:00:00.000 UTC Qt::TimeSpec(UTC)) QDateTime(2036-07-16 23:59:59.000 UTC Qt::TimeSpec(UTC))
      HOHO ("Deutsche Telekom Root CA 2") QDateTime(2099-07-09 12:11:00.000 UTC Qt::TimeSpec(UTC)) QDateTime(2019-07-09 23:59:00.000 UTC Qt::TimeSpec(UTC))
      HOHO ("GlobalSign Root CA") QDateTime(2098-09-01 12:00:00.000 UTC Qt::TimeSpec(UTC)) QDateTime(2028-01-28 12:00:00.000 UTC Qt::TimeSpec(UTC))
      HOHO ("UTN-USERFirst-Client Authentication and Email") QDateTime(2099-07-09 17:28:50.000 UTC Qt::TimeSpec(UTC)) QDateTime(2019-07-09 17:36:58.000 UTC Qt::TimeSpec(UTC))
      HOHO ("UTN-USERFirst-Hardware") QDateTime(2099-07-09 18:10:42.000 UTC Qt::TimeSpec(UTC)) QDateTime(2019-07-09 18:19:22.000 UTC Qt::TimeSpec(UTC))
      HOHO ("UTN-USERFirst-Network Applications") QDateTime(2099-07-09 18:48:39.000 UTC Qt::TimeSpec(UTC)) QDateTime(2019-07-09 18:57:49.000 UTC Qt::TimeSpec(UTC))
      HOHO ("UTN-USERFirst-Object") QDateTime(2099-07-09 18:31:20.000 UTC Qt::TimeSpec(UTC)) QDateTime(2019-07-09 18:40:36.000 UTC Qt::TimeSpec(UTC))
      HOHO ("UTN - DATACorp SGC") QDateTime(2099-06-24 18:57:21.000 UTC Qt::TimeSpec(UTC)) QDateTime(2019-06-24 19:06:30.000 UTC Qt::TimeSpec(UTC))
      HOHO ("Class 2 Primary CA") QDateTime(2099-07-07 17:05:00.000 UTC Qt::TimeSpec(UTC)) QDateTime(2019-07-06 23:59:59.000 UTC Qt::TimeSpec(UTC))
      HOHO ("Entrust.net Certification Authority (2048)") QDateTime(2099-12-24 17:50:51.000 UTC Qt::TimeSpec(UTC)) QDateTime(2029-07-24 14:15:12.000 UTC Qt::TimeSpec(UTC))
      
      

      Attachments

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

        Activity

          People

            tpochep Timur Pocheptsov
            thierryb Thierry Bastian
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes