diff options
Diffstat (limited to 'tests/auto/qsslcertificate/tst_qsslcertificate.cpp')
-rw-r--r-- | tests/auto/qsslcertificate/tst_qsslcertificate.cpp | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp index 17f8b77f6a..e95af1e97c 100644 --- a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp +++ b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp @@ -114,6 +114,7 @@ private slots: void largeExpirationDate(); void blacklistedCertificates(); void toText(); + void multipleCommonNames(); // ### add tests for certificate bundles (multiple certificates concatenated into a single // structure); both PEM and DER formatted @@ -195,8 +196,8 @@ void tst_QSslCertificate::emptyConstructor() QCOMPARE(certificate.version() , QByteArray()); QCOMPARE(certificate.serialNumber(), QByteArray()); QCOMPARE(certificate.digest(), QCryptographicHash::hash(QByteArray(), QCryptographicHash::Md5)); - QCOMPARE(certificate.issuerInfo(QSslCertificate::Organization)[0], QString()); - QCOMPARE(certificate.subjectInfo(QSslCertificate::Organization)[0], QString()); + QCOMPARE(certificate.issuerInfo(QSslCertificate::Organization), QStringList()); + QCOMPARE(certificate.subjectInfo(QSslCertificate::Organization), QStringList()); QCOMPARE(certificate.alternateSubjectNames(),(QMultiMap<QSsl::AlternateNameEntryType, QString>())); #ifndef QT_NO_TEXTSTREAM QCOMPARE(certificate.effectiveDate(), QDateTime()); @@ -682,31 +683,31 @@ void tst_QSslCertificate::certInfo() QCOMPARE(cert.issuerInfo(QSslCertificate::Organization)[0], QString("CryptSoft Pty Ltd")); QCOMPARE(cert.issuerInfo(QSslCertificate::CommonName)[0], QString("Test CA (1024 bit)")); - QCOMPARE(cert.issuerInfo(QSslCertificate::LocalityName)[0], QString()); - QCOMPARE(cert.issuerInfo(QSslCertificate::OrganizationalUnitName)[0], QString()); + QCOMPARE(cert.issuerInfo(QSslCertificate::LocalityName), QStringList()); + QCOMPARE(cert.issuerInfo(QSslCertificate::OrganizationalUnitName), QStringList()); QCOMPARE(cert.issuerInfo(QSslCertificate::CountryName)[0], QString("AU")); QCOMPARE(cert.issuerInfo(QSslCertificate::StateOrProvinceName)[0], QString("Queensland")); QCOMPARE(cert.issuerInfo("O")[0], QString("CryptSoft Pty Ltd")); QCOMPARE(cert.issuerInfo("CN")[0], QString("Test CA (1024 bit)")); - QCOMPARE(cert.issuerInfo("L")[0], QString()); - QCOMPARE(cert.issuerInfo("OU")[0], QString()); + QCOMPARE(cert.issuerInfo("L"), QStringList()); + QCOMPARE(cert.issuerInfo("OU"), QStringList()); QCOMPARE(cert.issuerInfo("C")[0], QString("AU")); QCOMPARE(cert.issuerInfo("ST")[0], QString("Queensland")); - QCOMPARE(cert.subjectInfo(QSslCertificate::Organization)[0], QString()); + QCOMPARE(cert.subjectInfo(QSslCertificate::Organization), QStringList()); QCOMPARE(cert.subjectInfo(QSslCertificate::CommonName)[0], QString("name/with/slashes")); - QCOMPARE(cert.subjectInfo(QSslCertificate::LocalityName)[0], QString()); - QCOMPARE(cert.subjectInfo(QSslCertificate::OrganizationalUnitName)[0], QString()); + QCOMPARE(cert.subjectInfo(QSslCertificate::LocalityName), QStringList()); + QCOMPARE(cert.subjectInfo(QSslCertificate::OrganizationalUnitName), QStringList()); QCOMPARE(cert.subjectInfo(QSslCertificate::CountryName)[0], QString("NO")); - QCOMPARE(cert.subjectInfo(QSslCertificate::StateOrProvinceName)[0], QString()); + QCOMPARE(cert.subjectInfo(QSslCertificate::StateOrProvinceName), QStringList()); - QCOMPARE(cert.subjectInfo("O")[0], QString()); + QCOMPARE(cert.subjectInfo("O"), QStringList()); QCOMPARE(cert.subjectInfo("CN")[0], QString("name/with/slashes")); - QCOMPARE(cert.subjectInfo("L")[0], QString()); - QCOMPARE(cert.subjectInfo("OU")[0], QString()); + QCOMPARE(cert.subjectInfo("L"), QStringList()); + QCOMPARE(cert.subjectInfo("OU"), QStringList()); QCOMPARE(cert.subjectInfo("C")[0], QString("NO")); - QCOMPARE(cert.subjectInfo("ST")[0], QString()); + QCOMPARE(cert.subjectInfo("ST"), QStringList()); QCOMPARE(cert.version(), QByteArray::number(1)); QCOMPARE(cert.serialNumber(), QByteArray::number(17)); @@ -871,6 +872,17 @@ void tst_QSslCertificate::toText() QVERIFY(txtOld == cert.toText() || txtNew == cert.toText()); } +void tst_QSslCertificate::multipleCommonNames() +{ + QList<QSslCertificate> certList = + QSslCertificate::fromPath(SRCDIR "more-certificates/test-cn-two-cns-cert.pem"); + QVERIFY2(certList.count() > 0, "Please run this test from the source directory"); + + QStringList commonNames = certList[0].subjectInfo(QSslCertificate::CommonName); + QVERIFY(commonNames.contains(QString("www.example.com"))); + QVERIFY(commonNames.contains(QString("www2.example.com"))); +} + #endif // QT_NO_OPENSSL QTEST_MAIN(tst_QSslCertificate) |