summaryrefslogtreecommitdiffstats
path: root/tests/auto/network
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-05-13 14:27:45 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-13 16:08:01 +0200
commitff334fd57414be90ab6b40f91e16f0bdb1835762 (patch)
treebb74d8217781394163870cb3399f0984136498c8 /tests/auto/network
parentec4c93a852ddc1d1437232241de492ad20d4cbb1 (diff)
parentb5552bab40f2e165cf7196993ffc83785f4d8264 (diff)
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Diffstat (limited to 'tests/auto/network')
-rw-r--r--tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
index e3151ba862..f98cde51f9 100644
--- a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
@@ -81,6 +81,7 @@ private slots:
void emptyConstructor();
void constructor_data();
void constructor();
+ void constructor_device();
void constructingGarbage();
void copyAndAssign_data();
void copyAndAssign();
@@ -111,6 +112,8 @@ private slots:
void verify();
void extensions();
void threadSafeConstMethods();
+ void version_data();
+ void version();
// helper for verbose test failure messages
QString toString(const QList<QSslError>&);
@@ -226,6 +229,47 @@ void tst_QSslCertificate::constructor()
QVERIFY(!certificate.isNull());
}
+void tst_QSslCertificate::constructor_device()
+{
+ if (!QSslSocket::supportsSsl())
+ return;
+
+ QFile f(testDataDir + "/verify-certs/test-ocsp-good-cert.pem");
+ bool ok = f.open(QIODevice::ReadOnly);
+ QVERIFY(ok);
+
+ QSslCertificate cert(&f);
+ QVERIFY(!cert.isNull());
+ f.close();
+
+ // Check opening a DER as a PEM fails
+ QFile f2(testDataDir + "/certificates/cert.der");
+ ok = f2.open(QIODevice::ReadOnly);
+ QVERIFY(ok);
+
+ QSslCertificate cert2(&f2);
+ QVERIFY(cert2.isNull());
+ f2.close();
+
+ // Check opening a DER as a DER works
+ QFile f3(testDataDir + "/certificates/cert.der");
+ ok = f3.open(QIODevice::ReadOnly);
+ QVERIFY(ok);
+
+ QSslCertificate cert3(&f3, QSsl::Der);
+ QVERIFY(!cert3.isNull());
+ f3.close();
+
+ // Check opening a PEM as a DER fails
+ QFile f4(testDataDir + "/verify-certs/test-ocsp-good-cert.pem");
+ ok = f4.open(QIODevice::ReadOnly);
+ QVERIFY(ok);
+
+ QSslCertificate cert4(&f4, QSsl::Der);
+ QVERIFY(cert4.isNull());
+ f4.close();
+}
+
void tst_QSslCertificate::constructingGarbage()
{
if (!QSslSocket::supportsSsl())
@@ -1158,6 +1202,33 @@ void tst_QSslCertificate::threadSafeConstMethods()
}
+void tst_QSslCertificate::version_data()
+{
+ QTest::addColumn<QSslCertificate>("certificate");
+ QTest::addColumn<QByteArray>("result");
+
+ QTest::newRow("null certificate") << QSslCertificate() << QByteArray();
+
+ QList<QSslCertificate> certs;
+ certs << QSslCertificate::fromPath(testDataDir + "/verify-certs/test-ocsp-good-cert.pem");
+
+ QTest::newRow("v3 certificate") << certs.first() << QByteArrayLiteral("3");
+
+ certs.clear();
+ certs << QSslCertificate::fromPath(testDataDir + "/certificates/cert.pem");
+ QTest::newRow("v1 certificate") << certs.first() << QByteArrayLiteral("1");
+}
+
+void tst_QSslCertificate::version()
+{
+ if (!QSslSocket::supportsSsl())
+ return;
+
+ QFETCH(QSslCertificate, certificate);
+ QFETCH(QByteArray, result);
+ QCOMPARE(certificate.version(), result);
+}
+
#endif // QT_NO_SSL
QTEST_MAIN(tst_QSslCertificate)