summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/ssl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/network/ssl')
-rw-r--r--tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp218
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pri-256-brainpoolP256r1.derbin0 -> 122 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pri-256-brainpoolP256r1.pem5
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pri-384-brainpoolP384r1.derbin0 -> 171 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pri-384-brainpoolP384r1.pem6
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pri-512-brainpoolP512r1.derbin0 -> 221 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pri-512-brainpoolP512r1.pem7
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pub-256-brainpoolP256r1.derbin0 -> 92 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pub-256-brainpoolP256r1.pem4
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pub-384-brainpoolP384r1.derbin0 -> 124 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pub-384-brainpoolP384r1.pem5
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pub-512-brainpoolP512r1.derbin0 -> 158 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/ec-pub-512-brainpoolP512r1.pem6
-rwxr-xr-xtests/auto/network/ssl/qsslkey/keys/genkeys.sh4
-rw-r--r--tests/auto/network/ssl/qsslkey/qsslkey.pro3
-rw-r--r--tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp12
-rw-r--r--tests/auto/network/ssl/qsslsocket/qsslsocket.pro2
-rw-r--r--tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp148
18 files changed, 253 insertions, 167 deletions
diff --git a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
index 064efc120b..1477fd212e 100644
--- a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
@@ -57,11 +57,8 @@ class tst_QSslCertificate : public QObject
void compareCertificates(const QSslCertificate & cert1, const QSslCertificate & cert2);
#endif
- QString oldCurrentDir;
-
public slots:
void initTestCase();
- void cleanupTestCase();
#ifndef QT_NO_SSL
private slots:
@@ -120,14 +117,10 @@ void tst_QSslCertificate::initTestCase()
testDataDir = QFileInfo(QFINDTESTDATA("certificates")).absolutePath();
if (testDataDir.isEmpty())
testDataDir = QCoreApplication::applicationDirPath();
+ if (!testDataDir.endsWith(QLatin1String("/")))
+ testDataDir += QLatin1String("/");
- if (QDir::current().absolutePath() != testDataDir) {
- oldCurrentDir = QDir::current().absolutePath();
- QVERIFY2(QDir::setCurrent(testDataDir),
- qPrintable(QString("Cannot change directory to %1").arg(testDataDir)));
- }
-
- QDir dir(testDataDir + "/certificates");
+ QDir dir(testDataDir + "certificates");
QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::Readable);
QRegExp rxCert(QLatin1String("^.+\\.(pem|der)$"));
QRegExp rxSan(QLatin1String("^(.+\\.(?:pem|der))\\.san$"));
@@ -151,13 +144,6 @@ void tst_QSslCertificate::initTestCase()
}
}
-void tst_QSslCertificate::cleanupTestCase()
-{
- if (!oldCurrentDir.isEmpty()) {
- QDir::setCurrent(oldCurrentDir);
- }
-}
-
#ifndef QT_NO_SSL
void tst_QSslCertificate::hash()
@@ -232,7 +218,7 @@ void tst_QSslCertificate::constructor_device()
if (!QSslSocket::supportsSsl())
return;
- QFile f(testDataDir + "/verify-certs/test-ocsp-good-cert.pem");
+ QFile f(testDataDir + "verify-certs/test-ocsp-good-cert.pem");
bool ok = f.open(QIODevice::ReadOnly);
QVERIFY(ok);
@@ -241,7 +227,7 @@ void tst_QSslCertificate::constructor_device()
f.close();
// Check opening a DER as a PEM fails
- QFile f2(testDataDir + "/certificates/cert.der");
+ QFile f2(testDataDir + "certificates/cert.der");
ok = f2.open(QIODevice::ReadOnly);
QVERIFY(ok);
@@ -250,7 +236,7 @@ void tst_QSslCertificate::constructor_device()
f2.close();
// Check opening a DER as a DER works
- QFile f3(testDataDir + "/certificates/cert.der");
+ QFile f3(testDataDir + "certificates/cert.der");
ok = f3.open(QIODevice::ReadOnly);
QVERIFY(ok);
@@ -259,7 +245,7 @@ void tst_QSslCertificate::constructor_device()
f3.close();
// Check opening a PEM as a DER fails
- QFile f4(testDataDir + "/verify-certs/test-ocsp-good-cert.pem");
+ QFile f4(testDataDir + "verify-certs/test-ocsp-good-cert.pem");
ok = f4.open(QIODevice::ReadOnly);
QVERIFY(ok);
@@ -445,7 +431,7 @@ void tst_QSslCertificate::subjectAlternativeNames()
void tst_QSslCertificate::utf8SubjectNames()
{
- QSslCertificate cert = QSslCertificate::fromPath("certificates/cert-ss-san-utf8.pem", QSsl::Pem,
+ QSslCertificate cert = QSslCertificate::fromPath(testDataDir + "certificates/cert-ss-san-utf8.pem", QSsl::Pem,
QRegExp::FixedString).first();
QVERIFY(!cert.isNull());
@@ -568,60 +554,60 @@ void tst_QSslCertificate::fromPath_data()
QTest::newRow("empty regexp der") << QString() << int(QRegExp::RegExp) << false << 0;
QTest::newRow("empty wildcard pem") << QString() << int(QRegExp::Wildcard) << true << 0;
QTest::newRow("empty wildcard der") << QString() << int(QRegExp::Wildcard) << false << 0;
- QTest::newRow("\"certificates\" fixed pem") << QString("certificates") << int(QRegExp::FixedString) << true << 0;
- QTest::newRow("\"certificates\" fixed der") << QString("certificates") << int(QRegExp::FixedString) << false << 0;
- QTest::newRow("\"certificates\" regexp pem") << QString("certificates") << int(QRegExp::RegExp) << true << 0;
- QTest::newRow("\"certificates\" regexp der") << QString("certificates") << int(QRegExp::RegExp) << false << 0;
- QTest::newRow("\"certificates\" wildcard pem") << QString("certificates") << int(QRegExp::Wildcard) << true << 0;
- QTest::newRow("\"certificates\" wildcard der") << QString("certificates") << int(QRegExp::Wildcard) << false << 0;
- QTest::newRow("\"certificates/cert.pem\" fixed pem") << QString("certificates/cert.pem") << int(QRegExp::FixedString) << true << 1;
- QTest::newRow("\"certificates/cert.pem\" fixed der") << QString("certificates/cert.pem") << int(QRegExp::FixedString) << false << 0;
- QTest::newRow("\"certificates/cert.pem\" regexp pem") << QString("certificates/cert.pem") << int(QRegExp::RegExp) << true << 1;
- QTest::newRow("\"certificates/cert.pem\" regexp der") << QString("certificates/cert.pem") << int(QRegExp::RegExp) << false << 0;
- QTest::newRow("\"certificates/cert.pem\" wildcard pem") << QString("certificates/cert.pem") << int(QRegExp::Wildcard) << true << 1;
- QTest::newRow("\"certificates/cert.pem\" wildcard der") << QString("certificates/cert.pem") << int(QRegExp::Wildcard) << false << 0;
- QTest::newRow("\"certificates/*\" fixed pem") << QString("certificates/*") << int(QRegExp::FixedString) << true << 0;
- QTest::newRow("\"certificates/*\" fixed der") << QString("certificates/*") << int(QRegExp::FixedString) << false << 0;
- QTest::newRow("\"certificates/*\" regexp pem") << QString("certificates/*") << int(QRegExp::RegExp) << true << 0;
- QTest::newRow("\"certificates/*\" regexp der") << QString("certificates/*") << int(QRegExp::RegExp) << false << 0;
- QTest::newRow("\"certificates/*\" wildcard pem") << QString("certificates/*") << int(QRegExp::Wildcard) << true << 7;
- QTest::newRow("\"certificates/ca*\" wildcard pem") << QString("certificates/ca*") << int(QRegExp::Wildcard) << true << 1;
- QTest::newRow("\"certificates/cert*\" wildcard pem") << QString("certificates/cert*") << int(QRegExp::Wildcard) << true << 4;
- QTest::newRow("\"certificates/cert-[sure]*\" wildcard pem") << QString("certificates/cert-[sure]*") << int(QRegExp::Wildcard) << true << 3;
- QTest::newRow("\"certificates/cert-[not]*\" wildcard pem") << QString("certificates/cert-[not]*") << int(QRegExp::Wildcard) << true << 0;
- QTest::newRow("\"certificates/*\" wildcard der") << QString("certificates/*") << int(QRegExp::Wildcard) << false << 2;
- QTest::newRow("\"c*/c*.pem\" fixed pem") << QString("c*/c*.pem") << int(QRegExp::FixedString) << true << 0;
- QTest::newRow("\"c*/c*.pem\" fixed der") << QString("c*/c*.pem") << int(QRegExp::FixedString) << false << 0;
- QTest::newRow("\"c*/c*.pem\" regexp pem") << QString("c*/c*.pem") << int(QRegExp::RegExp) << true << 0;
- QTest::newRow("\"c*/c*.pem\" regexp der") << QString("c*/c*.pem") << int(QRegExp::RegExp) << false << 0;
- QTest::newRow("\"c*/c*.pem\" wildcard pem") << QString("c*/c*.pem") << int(QRegExp::Wildcard) << true << 5;
- QTest::newRow("\"c*/c*.pem\" wildcard der") << QString("c*/c*.pem") << int(QRegExp::Wildcard) << false << 0;
- QTest::newRow("\"d*/c*.pem\" fixed pem") << QString("d*/c*.pem") << int(QRegExp::FixedString) << true << 0;
- QTest::newRow("\"d*/c*.pem\" fixed der") << QString("d*/c*.pem") << int(QRegExp::FixedString) << false << 0;
- QTest::newRow("\"d*/c*.pem\" regexp pem") << QString("d*/c*.pem") << int(QRegExp::RegExp) << true << 0;
- QTest::newRow("\"d*/c*.pem\" regexp der") << QString("d*/c*.pem") << int(QRegExp::RegExp) << false << 0;
- QTest::newRow("\"d*/c*.pem\" wildcard pem") << QString("d*/c*.pem") << int(QRegExp::Wildcard) << true << 0;
- QTest::newRow("\"d*/c*.pem\" wildcard der") << QString("d*/c*.pem") << int(QRegExp::Wildcard) << false << 0;
- QTest::newRow("\"c.*/c.*.pem\" fixed pem") << QString("c.*/c.*.pem") << int(QRegExp::FixedString) << true << 0;
- QTest::newRow("\"c.*/c.*.pem\" fixed der") << QString("c.*/c.*.pem") << int(QRegExp::FixedString) << false << 0;
- QTest::newRow("\"c.*/c.*.pem\" regexp pem") << QString("c.*/c.*.pem") << int(QRegExp::RegExp) << true << 5;
- QTest::newRow("\"c.*/c.*.pem\" regexp der") << QString("c.*/c.*.pem") << int(QRegExp::RegExp) << false << 0;
- QTest::newRow("\"c.*/c.*.pem\" wildcard pem") << QString("c.*/c.*.pem") << int(QRegExp::Wildcard) << true << 0;
- QTest::newRow("\"c.*/c.*.pem\" wildcard der") << QString("c.*/c.*.pem") << int(QRegExp::Wildcard) << false << 0;
- QTest::newRow("\"d.*/c.*.pem\" fixed pem") << QString("d.*/c.*.pem") << int(QRegExp::FixedString) << true << 0;
- QTest::newRow("\"d.*/c.*.pem\" fixed der") << QString("d.*/c.*.pem") << int(QRegExp::FixedString) << false << 0;
- QTest::newRow("\"d.*/c.*.pem\" regexp pem") << QString("d.*/c.*.pem") << int(QRegExp::RegExp) << true << 0;
- QTest::newRow("\"d.*/c.*.pem\" regexp der") << QString("d.*/c.*.pem") << int(QRegExp::RegExp) << false << 0;
- QTest::newRow("\"d.*/c.*.pem\" wildcard pem") << QString("d.*/c.*.pem") << int(QRegExp::Wildcard) << true << 0;
- QTest::newRow("\"d.*/c.*.pem\" wildcard der") << QString("d.*/c.*.pem") << int(QRegExp::Wildcard) << false << 0;
+ QTest::newRow("\"certificates\" fixed pem") << (testDataDir + "certificates") << int(QRegExp::FixedString) << true << 0;
+ QTest::newRow("\"certificates\" fixed der") << (testDataDir + "certificates") << int(QRegExp::FixedString) << false << 0;
+ QTest::newRow("\"certificates\" regexp pem") << (testDataDir + "certificates") << int(QRegExp::RegExp) << true << 0;
+ QTest::newRow("\"certificates\" regexp der") << (testDataDir + "certificates") << int(QRegExp::RegExp) << false << 0;
+ QTest::newRow("\"certificates\" wildcard pem") << (testDataDir + "certificates") << int(QRegExp::Wildcard) << true << 0;
+ QTest::newRow("\"certificates\" wildcard der") << (testDataDir + "certificates") << int(QRegExp::Wildcard) << false << 0;
+ QTest::newRow("\"certificates/cert.pem\" fixed pem") << (testDataDir + "certificates/cert.pem") << int(QRegExp::FixedString) << true << 1;
+ QTest::newRow("\"certificates/cert.pem\" fixed der") << (testDataDir + "certificates/cert.pem") << int(QRegExp::FixedString) << false << 0;
+ QTest::newRow("\"certificates/cert.pem\" regexp pem") << (testDataDir + "certificates/cert.pem") << int(QRegExp::RegExp) << true << 1;
+ QTest::newRow("\"certificates/cert.pem\" regexp der") << (testDataDir + "certificates/cert.pem") << int(QRegExp::RegExp) << false << 0;
+ QTest::newRow("\"certificates/cert.pem\" wildcard pem") << (testDataDir + "certificates/cert.pem") << int(QRegExp::Wildcard) << true << 1;
+ QTest::newRow("\"certificates/cert.pem\" wildcard der") << (testDataDir + "certificates/cert.pem") << int(QRegExp::Wildcard) << false << 0;
+ QTest::newRow("\"certificates/*\" fixed pem") << (testDataDir + "certificates/*") << int(QRegExp::FixedString) << true << 0;
+ QTest::newRow("\"certificates/*\" fixed der") << (testDataDir + "certificates/*") << int(QRegExp::FixedString) << false << 0;
+ QTest::newRow("\"certificates/*\" regexp pem") << (testDataDir + "certificates/*") << int(QRegExp::RegExp) << true << 0;
+ QTest::newRow("\"certificates/*\" regexp der") << (testDataDir + "certificates/*") << int(QRegExp::RegExp) << false << 0;
+ QTest::newRow("\"certificates/*\" wildcard pem") << (testDataDir + "certificates/*") << int(QRegExp::Wildcard) << true << 7;
+ QTest::newRow("\"certificates/ca*\" wildcard pem") << (testDataDir + "certificates/ca*") << int(QRegExp::Wildcard) << true << 1;
+ QTest::newRow("\"certificates/cert*\" wildcard pem") << (testDataDir + "certificates/cert*") << int(QRegExp::Wildcard) << true << 4;
+ QTest::newRow("\"certificates/cert-[sure]*\" wildcard pem") << (testDataDir + "certificates/cert-[sure]*") << int(QRegExp::Wildcard) << true << 3;
+ QTest::newRow("\"certificates/cert-[not]*\" wildcard pem") << (testDataDir + "certificates/cert-[not]*") << int(QRegExp::Wildcard) << true << 0;
+ QTest::newRow("\"certificates/*\" wildcard der") << (testDataDir + "certificates/*") << int(QRegExp::Wildcard) << false << 2;
+ QTest::newRow("\"c*/c*.pem\" fixed pem") << (testDataDir + "c*/c*.pem") << int(QRegExp::FixedString) << true << 0;
+ QTest::newRow("\"c*/c*.pem\" fixed der") << (testDataDir + "c*/c*.pem") << int(QRegExp::FixedString) << false << 0;
+ QTest::newRow("\"c*/c*.pem\" regexp pem") << (testDataDir + "c*/c*.pem") << int(QRegExp::RegExp) << true << 0;
+ QTest::newRow("\"c*/c*.pem\" regexp der") << (testDataDir + "c*/c*.pem") << int(QRegExp::RegExp) << false << 0;
+ QTest::newRow("\"c*/c*.pem\" wildcard pem") << (testDataDir + "c*/c*.pem") << int(QRegExp::Wildcard) << true << 5;
+ QTest::newRow("\"c*/c*.pem\" wildcard der") << (testDataDir + "c*/c*.pem") << int(QRegExp::Wildcard) << false << 0;
+ QTest::newRow("\"d*/c*.pem\" fixed pem") << (testDataDir + "d*/c*.pem") << int(QRegExp::FixedString) << true << 0;
+ QTest::newRow("\"d*/c*.pem\" fixed der") << (testDataDir + "d*/c*.pem") << int(QRegExp::FixedString) << false << 0;
+ QTest::newRow("\"d*/c*.pem\" regexp pem") << (testDataDir + "d*/c*.pem") << int(QRegExp::RegExp) << true << 0;
+ QTest::newRow("\"d*/c*.pem\" regexp der") << (testDataDir + "d*/c*.pem") << int(QRegExp::RegExp) << false << 0;
+ QTest::newRow("\"d*/c*.pem\" wildcard pem") << (testDataDir + "d*/c*.pem") << int(QRegExp::Wildcard) << true << 0;
+ QTest::newRow("\"d*/c*.pem\" wildcard der") << (testDataDir + "d*/c*.pem") << int(QRegExp::Wildcard) << false << 0;
+ QTest::newRow("\"c.*/c.*.pem\" fixed pem") << (testDataDir + "c.*/c.*.pem") << int(QRegExp::FixedString) << true << 0;
+ QTest::newRow("\"c.*/c.*.pem\" fixed der") << (testDataDir + "c.*/c.*.pem") << int(QRegExp::FixedString) << false << 0;
+ QTest::newRow("\"c.*/c.*.pem\" regexp pem") << (testDataDir + "c.*/c.*.pem") << int(QRegExp::RegExp) << true << 5;
+ QTest::newRow("\"c.*/c.*.pem\" regexp der") << (testDataDir + "c.*/c.*.pem") << int(QRegExp::RegExp) << false << 0;
+ QTest::newRow("\"c.*/c.*.pem\" wildcard pem") << (testDataDir + "c.*/c.*.pem") << int(QRegExp::Wildcard) << true << 0;
+ QTest::newRow("\"c.*/c.*.pem\" wildcard der") << (testDataDir + "c.*/c.*.pem") << int(QRegExp::Wildcard) << false << 0;
+ QTest::newRow("\"d.*/c.*.pem\" fixed pem") << (testDataDir + "d.*/c.*.pem") << int(QRegExp::FixedString) << true << 0;
+ QTest::newRow("\"d.*/c.*.pem\" fixed der") << (testDataDir + "d.*/c.*.pem") << int(QRegExp::FixedString) << false << 0;
+ QTest::newRow("\"d.*/c.*.pem\" regexp pem") << (testDataDir + "d.*/c.*.pem") << int(QRegExp::RegExp) << true << 0;
+ QTest::newRow("\"d.*/c.*.pem\" regexp der") << (testDataDir + "d.*/c.*.pem") << int(QRegExp::RegExp) << false << 0;
+ QTest::newRow("\"d.*/c.*.pem\" wildcard pem") << (testDataDir + "d.*/c.*.pem") << int(QRegExp::Wildcard) << true << 0;
+ QTest::newRow("\"d.*/c.*.pem\" wildcard der") << (testDataDir + "d.*/c.*.pem") << int(QRegExp::Wildcard) << false << 0;
#ifdef Q_OS_LINUX
- QTest::newRow("absolute path wildcard pem") << (testDataDir + "/certificates/*.pem") << int(QRegExp::Wildcard) << true << 7;
+ QTest::newRow("absolute path wildcard pem") << (testDataDir + "certificates/*.pem") << int(QRegExp::Wildcard) << true << 7;
#endif
- QTest::newRow("trailing-whitespace") << QString("more-certificates/trailing-whitespace.pem") << int(QRegExp::FixedString) << true << 1;
- QTest::newRow("no-ending-newline") << QString("more-certificates/no-ending-newline.pem") << int(QRegExp::FixedString) << true << 1;
- QTest::newRow("malformed-just-begin") << QString("more-certificates/malformed-just-begin.pem") << int(QRegExp::FixedString) << true << 0;
- QTest::newRow("malformed-just-begin-no-newline") << QString("more-certificates/malformed-just-begin-no-newline.pem") << int(QRegExp::FixedString) << true << 0;
+ QTest::newRow("trailing-whitespace") << (testDataDir + "more-certificates/trailing-whitespace.pem") << int(QRegExp::FixedString) << true << 1;
+ QTest::newRow("no-ending-newline") << (testDataDir + "more-certificates/no-ending-newline.pem") << int(QRegExp::FixedString) << true << 1;
+ QTest::newRow("malformed-just-begin") << (testDataDir + "more-certificates/malformed-just-begin.pem") << int(QRegExp::FixedString) << true << 0;
+ QTest::newRow("malformed-just-begin-no-newline") << (testDataDir + "more-certificates/malformed-just-begin-no-newline.pem") << int(QRegExp::FixedString) << true << 0;
}
void tst_QSslCertificate::fromPath()
@@ -722,7 +708,7 @@ void tst_QSslCertificate::certInfo()
"dc:c2:eb:b7:bb:50:18:05:ba:ad:af:08:49:fe:98:63"
"55:ba:e7:fb:95:5d:91";
- QSslCertificate cert = QSslCertificate::fromPath("certificates/cert.pem", QSsl::Pem,
+ QSslCertificate cert = QSslCertificate::fromPath(testDataDir + "certificates/cert.pem", QSsl::Pem,
QRegExp::FixedString).first();
QVERIFY(!cert.isNull());
@@ -779,7 +765,7 @@ void tst_QSslCertificate::certInfo()
void tst_QSslCertificate::certInfoQByteArray()
{
- QSslCertificate cert = QSslCertificate::fromPath("certificates/cert.pem", QSsl::Pem,
+ QSslCertificate cert = QSslCertificate::fromPath(testDataDir + "certificates/cert.pem", QSsl::Pem,
QRegExp::FixedString).first();
QVERIFY(!cert.isNull());
@@ -828,11 +814,11 @@ void tst_QSslCertificate::task256066toPem()
void tst_QSslCertificate::nulInCN()
{
-#ifdef QT_SECURETRANSPORT
+#if defined(QT_SECURETRANSPORT) || defined(Q_OS_WINRT)
QSKIP("Generic QSslCertificatePrivate fails this test");
#endif
QList<QSslCertificate> certList =
- QSslCertificate::fromPath(testDataDir + "/more-certificates/badguy-nul-cn.crt");
+ QSslCertificate::fromPath(testDataDir + "more-certificates/badguy-nul-cn.crt");
QCOMPARE(certList.size(), 1);
const QSslCertificate &cert = certList.at(0);
@@ -847,11 +833,11 @@ void tst_QSslCertificate::nulInCN()
void tst_QSslCertificate::nulInSan()
{
-#ifdef QT_SECURETRANSPORT
+#if defined(QT_SECURETRANSPORT) || defined(Q_OS_WINRT)
QSKIP("Generic QSslCertificatePrivate fails this test");
#endif
QList<QSslCertificate> certList =
- QSslCertificate::fromPath(testDataDir + "/more-certificates/badguy-nul-san.crt");
+ QSslCertificate::fromPath(testDataDir + "more-certificates/badguy-nul-san.crt");
QCOMPARE(certList.size(), 1);
const QSslCertificate &cert = certList.at(0);
@@ -871,7 +857,7 @@ void tst_QSslCertificate::nulInSan()
void tst_QSslCertificate::largeSerialNumber()
{
QList<QSslCertificate> certList =
- QSslCertificate::fromPath(testDataDir + "/more-certificates/cert-large-serial-number.pem");
+ QSslCertificate::fromPath(testDataDir + "more-certificates/cert-large-serial-number.pem");
QCOMPARE(certList.size(), 1);
@@ -883,7 +869,7 @@ void tst_QSslCertificate::largeSerialNumber()
void tst_QSslCertificate::largeExpirationDate() // QTBUG-12489
{
QList<QSslCertificate> certList =
- QSslCertificate::fromPath(testDataDir + "/more-certificates/cert-large-expiration-date.pem");
+ QSslCertificate::fromPath(testDataDir + "more-certificates/cert-large-expiration-date.pem");
QCOMPARE(certList.size(), 1);
@@ -896,8 +882,8 @@ void tst_QSslCertificate::largeExpirationDate() // QTBUG-12489
void tst_QSslCertificate::blacklistedCertificates()
{
- QList<QSslCertificate> blacklistedCerts = QSslCertificate::fromPath("more-certificates/blacklisted*.pem", QSsl::Pem, QRegExp::Wildcard);
- QVERIFY2(blacklistedCerts.count() > 0, "Please run this test from the source directory");
+ QList<QSslCertificate> blacklistedCerts = QSslCertificate::fromPath(testDataDir + "more-certificates/blacklisted*.pem", QSsl::Pem, QRegExp::Wildcard);
+ QVERIFY(blacklistedCerts.count() > 0);
for (int a = 0; a < blacklistedCerts.count(); a++) {
QVERIFY(blacklistedCerts.at(a).isBlacklisted());
}
@@ -905,34 +891,34 @@ void tst_QSslCertificate::blacklistedCertificates()
void tst_QSslCertificate::selfsignedCertificates()
{
- QVERIFY(QSslCertificate::fromPath(testDataDir + "/certificates/cert-ss.pem").first().isSelfSigned());
- QVERIFY(!QSslCertificate::fromPath(testDataDir + "/certificates/cert.pem").first().isSelfSigned());
+ QVERIFY(QSslCertificate::fromPath(testDataDir + "certificates/cert-ss.pem").first().isSelfSigned());
+ QVERIFY(!QSslCertificate::fromPath(testDataDir + "certificates/cert.pem").first().isSelfSigned());
QVERIFY(!QSslCertificate().isSelfSigned());
}
void tst_QSslCertificate::toText()
{
QList<QSslCertificate> certList =
- QSslCertificate::fromPath(testDataDir + "/more-certificates/cert-large-expiration-date.pem");
+ QSslCertificate::fromPath(testDataDir + "more-certificates/cert-large-expiration-date.pem");
QCOMPARE(certList.size(), 1);
const QSslCertificate &cert = certList.at(0);
// Openssl's cert dump method changed slightly between 0.9.8, 1.0.0 and 1.01 versions, so we want it to match any output
- QFile f098(testDataDir + "/more-certificates/cert-large-expiration-date.txt.0.9.8");
+ QFile f098(testDataDir + "more-certificates/cert-large-expiration-date.txt.0.9.8");
QVERIFY(f098.open(QIODevice::ReadOnly | QFile::Text));
QByteArray txt098 = f098.readAll();
- QFile f100(testDataDir + "/more-certificates/cert-large-expiration-date.txt.1.0.0");
+ QFile f100(testDataDir + "more-certificates/cert-large-expiration-date.txt.1.0.0");
QVERIFY(f100.open(QIODevice::ReadOnly | QFile::Text));
QByteArray txt100 = f100.readAll();
- QFile f101(testDataDir + "/more-certificates/cert-large-expiration-date.txt.1.0.1");
+ QFile f101(testDataDir + "more-certificates/cert-large-expiration-date.txt.1.0.1");
QVERIFY(f101.open(QIODevice::ReadOnly | QFile::Text));
QByteArray txt101 = f101.readAll();
- QFile f101c(testDataDir + "/more-certificates/cert-large-expiration-date.txt.1.0.1c");
+ QFile f101c(testDataDir + "more-certificates/cert-large-expiration-date.txt.1.0.1c");
QVERIFY(f101c.open(QIODevice::ReadOnly | QFile::Text));
QByteArray txt101c = f101c.readAll();
@@ -950,8 +936,8 @@ void tst_QSslCertificate::toText()
void tst_QSslCertificate::multipleCommonNames()
{
QList<QSslCertificate> certList =
- QSslCertificate::fromPath(testDataDir + "/more-certificates/test-cn-two-cns-cert.pem");
- QVERIFY2(certList.count() > 0, "Please run this test from the source directory");
+ QSslCertificate::fromPath(testDataDir + "more-certificates/test-cn-two-cns-cert.pem");
+ QVERIFY(certList.count() > 0);
QStringList commonNames = certList[0].subjectInfo(QSslCertificate::CommonName);
QVERIFY(commonNames.contains(QString("www.example.com")));
@@ -961,15 +947,15 @@ void tst_QSslCertificate::multipleCommonNames()
void tst_QSslCertificate::subjectAndIssuerAttributes()
{
QList<QSslCertificate> certList =
- QSslCertificate::fromPath(testDataDir + "/more-certificates/test-cn-with-drink-cert.pem");
- QVERIFY2(certList.count() > 0, "Please run this test from the source directory");
+ QSslCertificate::fromPath(testDataDir + "more-certificates/test-cn-with-drink-cert.pem");
+ QVERIFY(certList.count() > 0);
QList<QByteArray> attributes = certList[0].subjectInfoAttributes();
QVERIFY(attributes.contains(QByteArray("favouriteDrink")));
attributes.clear();
- certList = QSslCertificate::fromPath(testDataDir + "/more-certificates/natwest-banking.pem");
- QVERIFY2(certList.count() > 0, "Please run this test from the source directory");
+ certList = QSslCertificate::fromPath(testDataDir + "more-certificates/natwest-banking.pem");
+ QVERIFY(certList.count() > 0);
attributes = certList[0].subjectInfoAttributes();
QVERIFY(attributes.contains(QByteArray("1.3.6.1.4.1.311.60.2.1.3")));
@@ -999,17 +985,17 @@ void tst_QSslCertificate::verify()
errors.clear();
// Verify a valid cert signed by a CA
- QList<QSslCertificate> caCerts = QSslCertificate::fromPath(testDataDir + "/verify-certs/cacert.pem");
+ QList<QSslCertificate> caCerts = QSslCertificate::fromPath(testDataDir + "verify-certs/cacert.pem");
QSslSocket::addDefaultCaCertificate(caCerts.first());
- toVerify = QSslCertificate::fromPath(testDataDir + "/verify-certs/test-ocsp-good-cert.pem");
+ toVerify = QSslCertificate::fromPath(testDataDir + "verify-certs/test-ocsp-good-cert.pem");
errors = QSslCertificate::verify(toVerify);
VERIFY_VERBOSE(errors.count() == 0);
errors.clear();
// Test a blacklisted certificate
- toVerify = QSslCertificate::fromPath(testDataDir + "/verify-certs/test-addons-mozilla-org-cert.pem");
+ toVerify = QSslCertificate::fromPath(testDataDir + "verify-certs/test-addons-mozilla-org-cert.pem");
errors = QSslCertificate::verify(toVerify);
bool foundBlack = false;
foreach (const QSslError &error, errors) {
@@ -1022,7 +1008,7 @@ void tst_QSslCertificate::verify()
errors.clear();
// This one is expired and untrusted
- toVerify = QSslCertificate::fromPath(testDataDir + "/more-certificates/cert-large-serial-number.pem");
+ toVerify = QSslCertificate::fromPath(testDataDir + "more-certificates/cert-large-serial-number.pem");
errors = QSslCertificate::verify(toVerify);
VERIFY_VERBOSE(errors.contains(QSslError(QSslError::SelfSignedCertificate, toVerify[0])));
VERIFY_VERBOSE(errors.contains(QSslError(QSslError::CertificateExpired, toVerify[0])));
@@ -1030,15 +1016,15 @@ void tst_QSslCertificate::verify()
toVerify.clear();
// This one is signed by a valid cert, but the signer is not a valid CA
- toVerify << QSslCertificate::fromPath(testDataDir + "/verify-certs/test-intermediate-not-ca-cert.pem").first();
- toVerify << QSslCertificate::fromPath(testDataDir + "/verify-certs/test-ocsp-good-cert.pem").first();
+ toVerify << QSslCertificate::fromPath(testDataDir + "verify-certs/test-intermediate-not-ca-cert.pem").first();
+ toVerify << QSslCertificate::fromPath(testDataDir + "verify-certs/test-ocsp-good-cert.pem").first();
errors = QSslCertificate::verify(toVerify);
VERIFY_VERBOSE(errors.contains(QSslError(QSslError::InvalidCaCertificate, toVerify[1])));
toVerify.clear();
// This one is signed by a valid cert, and the signer is a valid CA
- toVerify << QSslCertificate::fromPath(testDataDir + "/verify-certs/test-intermediate-is-ca-cert.pem").first();
- toVerify << QSslCertificate::fromPath(testDataDir + "/verify-certs/test-intermediate-ca-cert.pem").first();
+ toVerify << QSslCertificate::fromPath(testDataDir + "verify-certs/test-intermediate-is-ca-cert.pem").first();
+ toVerify << QSslCertificate::fromPath(testDataDir + "verify-certs/test-intermediate-ca-cert.pem").first();
errors = QSslCertificate::verify(toVerify);
VERIFY_VERBOSE(errors.count() == 0);
@@ -1068,8 +1054,8 @@ QString tst_QSslCertificate::toString(const QList<QSslError>& errors)
void tst_QSslCertificate::extensions()
{
QList<QSslCertificate> certList =
- QSslCertificate::fromPath(testDataDir + "/more-certificates/natwest-banking.pem");
- QVERIFY2(certList.count() > 0, "Please run this test from the source directory");
+ QSslCertificate::fromPath(testDataDir + "more-certificates/natwest-banking.pem");
+ QVERIFY(certList.count() > 0);
QSslCertificate cert = certList[0];
QList<QSslCertificateExtension> extensions = cert.extensions();
@@ -1166,8 +1152,8 @@ void tst_QSslCertificate::extensions()
void tst_QSslCertificate::extensionsCritical()
{
QList<QSslCertificate> certList =
- QSslCertificate::fromPath(testDataDir + "/verify-certs/test-addons-mozilla-org-cert.pem");
- QVERIFY2(certList.count() > 0, "Please run this test from the source directory");
+ QSslCertificate::fromPath(testDataDir + "verify-certs/test-addons-mozilla-org-cert.pem");
+ QVERIFY(certList.count() > 0);
QSslCertificate cert = certList[0];
QList<QSslCertificateExtension> extensions = cert.extensions();
@@ -1249,7 +1235,7 @@ void tst_QSslCertificate::threadSafeConstMethods()
if (!QSslSocket::supportsSsl())
return;
- QByteArray encoded = readFile(testDataDir + "/certificates/cert.pem");
+ QByteArray encoded = readFile(testDataDir + "certificates/cert.pem");
QSslCertificate certificate(encoded);
QVERIFY(!certificate.isNull());
@@ -1287,12 +1273,12 @@ void tst_QSslCertificate::version_data()
QTest::newRow("null certificate") << QSslCertificate() << QByteArray();
QList<QSslCertificate> certs;
- certs << QSslCertificate::fromPath(testDataDir + "/verify-certs/test-ocsp-good-cert.pem");
+ 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");
+ certs << QSslCertificate::fromPath(testDataDir + "certificates/cert.pem");
QTest::newRow("v1 certificate") << certs.first() << QByteArrayLiteral("1");
}
@@ -1314,7 +1300,7 @@ void tst_QSslCertificate::pkcs12()
return;
}
- QFile f(testDataDir + QLatin1String("/pkcs12/leaf.p12"));
+ QFile f(testDataDir + QLatin1String("pkcs12/leaf.p12"));
bool ok = f.open(QIODevice::ReadOnly);
QVERIFY(ok);
@@ -1329,12 +1315,12 @@ void tst_QSslCertificate::pkcs12()
QVERIFY(ok);
f.close();
- QList<QSslCertificate> leafCert = QSslCertificate::fromPath(testDataDir + QLatin1String("/pkcs12/leaf.crt"));
+ QList<QSslCertificate> leafCert = QSslCertificate::fromPath(testDataDir + QLatin1String("pkcs12/leaf.crt"));
QVERIFY(!leafCert.isEmpty());
QCOMPARE(cert, leafCert.first());
- QFile f2(testDataDir + QLatin1String("/pkcs12/leaf.key"));
+ QFile f2(testDataDir + QLatin1String("pkcs12/leaf.key"));
ok = f2.open(QIODevice::ReadOnly);
QVERIFY(ok);
@@ -1344,7 +1330,7 @@ void tst_QSslCertificate::pkcs12()
QVERIFY(!leafKey.isNull());
QCOMPARE(key, leafKey);
- QList<QSslCertificate> caCert = QSslCertificate::fromPath(testDataDir + QLatin1String("/pkcs12/inter.crt"));
+ QList<QSslCertificate> caCert = QSslCertificate::fromPath(testDataDir + QLatin1String("pkcs12/inter.crt"));
QVERIFY(!caCert.isEmpty());
QVERIFY(!caCerts.isEmpty());
@@ -1352,7 +1338,7 @@ void tst_QSslCertificate::pkcs12()
QCOMPARE(caCerts, caCert);
// QTBUG-62335 - Fail (found no private key) but don't crash:
- QFile nocert(testDataDir + QLatin1String("/pkcs12/leaf-nokey.p12"));
+ QFile nocert(testDataDir + QLatin1String("pkcs12/leaf-nokey.p12"));
ok = nocert.open(QIODevice::ReadOnly);
QVERIFY(ok);
QTest::ignoreMessage(QtWarningMsg, "Unable to convert private key");
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pri-256-brainpoolP256r1.der b/tests/auto/network/ssl/qsslkey/keys/ec-pri-256-brainpoolP256r1.der
new file mode 100644
index 0000000000..ff5a631ef2
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pri-256-brainpoolP256r1.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pri-256-brainpoolP256r1.pem b/tests/auto/network/ssl/qsslkey/keys/ec-pri-256-brainpoolP256r1.pem
new file mode 100644
index 0000000000..b9d7290f1c
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pri-256-brainpoolP256r1.pem
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHgCAQEEICkGJVTQ1CxAApDzCDX4SqwtWJ8maYHgk9JQ+TI3vs2poAsGCSskAwMC
+CAEBB6FEA0IABCAhr230hmTi9SziKN7ZJOE2QjuI0FNtL1yZgtRPjNz/a4a+vG3d
+WNAvN+7QWatJGUk1Z5weeDU0D9M6PnRRSnc=
+-----END EC PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pri-384-brainpoolP384r1.der b/tests/auto/network/ssl/qsslkey/keys/ec-pri-384-brainpoolP384r1.der
new file mode 100644
index 0000000000..697ca6bc4a
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pri-384-brainpoolP384r1.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pri-384-brainpoolP384r1.pem b/tests/auto/network/ssl/qsslkey/keys/ec-pri-384-brainpoolP384r1.pem
new file mode 100644
index 0000000000..37e9bf5eb7
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pri-384-brainpoolP384r1.pem
@@ -0,0 +1,6 @@
+-----BEGIN EC PRIVATE KEY-----
+MIGoAgEBBDAJ0lL3eojQpq85spC6f0/mf8o2AqwDs8niN9lw2FmhEaR7sV4iX8Y6
+rKr1unYULMagCwYJKyQDAwIIAQELoWQDYgAES6Rp6pXKoyMaGzpKXRdL/JndNm9J
+L9VkLzZDlnTbleLjtghdGi5SZHGRvBNLZoGLYKOpJLoG2nCRJ6Ci3EHxlKtw6ytz
+Fk0YKn2UAcPefyUrL0HajfRIJkFmVGRavKGx
+-----END EC PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pri-512-brainpoolP512r1.der b/tests/auto/network/ssl/qsslkey/keys/ec-pri-512-brainpoolP512r1.der
new file mode 100644
index 0000000000..39e8672124
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pri-512-brainpoolP512r1.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pri-512-brainpoolP512r1.pem b/tests/auto/network/ssl/qsslkey/keys/ec-pri-512-brainpoolP512r1.pem
new file mode 100644
index 0000000000..a5d848f2f9
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pri-512-brainpoolP512r1.pem
@@ -0,0 +1,7 @@
+-----BEGIN EC PRIVATE KEY-----
+MIHaAgEBBECf7ioHynYtlc1ICFXTqrbGh/aOhflko3J8rQeQ2mBi6ozxkmpEDgRW
+cR6u0QeSCCAEacHJd0kC3hjkA4piB5KroAsGCSskAwMCCAEBDaGBhQOBggAEWvov
+CfjIdPUfC70DNETCfPjIqedVswV7KbM03DdRXqzBREZJb0nwkXrP/wMj+vWEBMui
+tfLBKd9s0vq4xgtEMCagNRNwwuFYzA6vfLzNTPsSCS1phKU1NFqm2dgGiSL+MBg0
+Wf+1Epfcdm9dBU+8IzTx1L+yRheWYohN2okh5Q8=
+-----END EC PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pub-256-brainpoolP256r1.der b/tests/auto/network/ssl/qsslkey/keys/ec-pub-256-brainpoolP256r1.der
new file mode 100644
index 0000000000..ee7abb84bd
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pub-256-brainpoolP256r1.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pub-256-brainpoolP256r1.pem b/tests/auto/network/ssl/qsslkey/keys/ec-pub-256-brainpoolP256r1.pem
new file mode 100644
index 0000000000..d3691cba57
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pub-256-brainpoolP256r1.pem
@@ -0,0 +1,4 @@
+-----BEGIN PUBLIC KEY-----
+MFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCAhr230hmTi9SziKN7ZJOE2QjuI
+0FNtL1yZgtRPjNz/a4a+vG3dWNAvN+7QWatJGUk1Z5weeDU0D9M6PnRRSnc=
+-----END PUBLIC KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pub-384-brainpoolP384r1.der b/tests/auto/network/ssl/qsslkey/keys/ec-pub-384-brainpoolP384r1.der
new file mode 100644
index 0000000000..bf07791c3c
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pub-384-brainpoolP384r1.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pub-384-brainpoolP384r1.pem b/tests/auto/network/ssl/qsslkey/keys/ec-pub-384-brainpoolP384r1.pem
new file mode 100644
index 0000000000..57d0108830
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pub-384-brainpoolP384r1.pem
@@ -0,0 +1,5 @@
+-----BEGIN PUBLIC KEY-----
+MHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEukaeqVyqMjGhs6Sl0XS/yZ3TZv
+SS/VZC82Q5Z025Xi47YIXRouUmRxkbwTS2aBi2CjqSS6BtpwkSegotxB8ZSrcOsr
+cxZNGCp9lAHD3n8lKy9B2o30SCZBZlRkWryhsQ==
+-----END PUBLIC KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pub-512-brainpoolP512r1.der b/tests/auto/network/ssl/qsslkey/keys/ec-pub-512-brainpoolP512r1.der
new file mode 100644
index 0000000000..eac51290d9
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pub-512-brainpoolP512r1.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/ec-pub-512-brainpoolP512r1.pem b/tests/auto/network/ssl/qsslkey/keys/ec-pub-512-brainpoolP512r1.pem
new file mode 100644
index 0000000000..66c58e23af
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/ec-pub-512-brainpoolP512r1.pem
@@ -0,0 +1,6 @@
+-----BEGIN PUBLIC KEY-----
+MIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEWvovCfjIdPUfC70DNETCfPjI
+qedVswV7KbM03DdRXqzBREZJb0nwkXrP/wMj+vWEBMuitfLBKd9s0vq4xgtEMCag
+NRNwwuFYzA6vfLzNTPsSCS1phKU1NFqm2dgGiSL+MBg0Wf+1Epfcdm9dBU+8IzTx
+1L+yRheWYohN2okh5Q8=
+-----END PUBLIC KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/genkeys.sh b/tests/auto/network/ssl/qsslkey/keys/genkeys.sh
index b6ef997b0d..7fb15e91ee 100755
--- a/tests/auto/network/ssl/qsslkey/keys/genkeys.sh
+++ b/tests/auto/network/ssl/qsslkey/keys/genkeys.sh
@@ -71,9 +71,7 @@ done
#--- EC ----------------------------------------------------------------------------
# Note: EC will be generated with pre-defined curves. You can check supported curves
# with openssl ecparam -list_curves.
-# If OpenSSL 1.0.2 is available brainpool should be added!
-# brainpoolP256r1 brainpoolP384r1 brainpoolP512r1
-for curve in secp224r1 prime256v1 secp384r1
+for curve in secp224r1 prime256v1 secp384r1 brainpoolP256r1 brainpoolP384r1 brainpoolP512r1
do
size=`tr -cd 0-9 <<< $curve`
size=${size::-1} # remove last number of curve name as we need bit size only
diff --git a/tests/auto/network/ssl/qsslkey/qsslkey.pro b/tests/auto/network/ssl/qsslkey/qsslkey.pro
index 8c3877631a..0074513878 100644
--- a/tests/auto/network/ssl/qsslkey/qsslkey.pro
+++ b/tests/auto/network/ssl/qsslkey/qsslkey.pro
@@ -9,4 +9,5 @@ qtConfig(private_tests) {
TARGET = tst_qsslkey
-TESTDATA += keys/* rsa-without-passphrase.pem rsa-with-passphrase.pem
+TESTDATA += keys/* \
+ rsa-*.pem
diff --git a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp
index 0112af4ed7..27d92db3bf 100644
--- a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp
+++ b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp
@@ -106,8 +106,10 @@ void tst_QSslKey::initTestCase()
testDataDir = QFileInfo(QFINDTESTDATA("rsa-without-passphrase.pem")).absolutePath();
if (testDataDir.isEmpty())
testDataDir = QCoreApplication::applicationDirPath();
+ if (!testDataDir.endsWith(QLatin1String("/")))
+ testDataDir += QLatin1String("/");
- QDir dir(testDataDir + "/keys");
+ QDir dir(testDataDir + "keys");
QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::Readable);
QRegExp rx(QLatin1String("^(rsa|dsa|ec)-(pub|pri)-(\\d+)-?\\w*\\.(pem|der)$"));
foreach (QFileInfo fileInfo, fileInfoList) {
@@ -392,9 +394,9 @@ void tst_QSslKey::passphraseChecks_data()
{
QTest::addColumn<QString>("fileName");
- QTest::newRow("DES") << QString(testDataDir + "/rsa-with-passphrase-des.pem");
- QTest::newRow("3DES") << QString(testDataDir + "/rsa-with-passphrase-3des.pem");
- QTest::newRow("RC2") << QString(testDataDir + "/rsa-with-passphrase-rc2.pem");
+ QTest::newRow("DES") << (testDataDir + "rsa-with-passphrase-des.pem");
+ QTest::newRow("3DES") << (testDataDir + "rsa-with-passphrase-3des.pem");
+ QTest::newRow("RC2") << (testDataDir + "rsa-with-passphrase-rc2.pem");
}
void tst_QSslKey::passphraseChecks()
@@ -440,7 +442,7 @@ void tst_QSslKey::passphraseChecks()
void tst_QSslKey::noPassphraseChecks()
{
// be sure and check a key without passphrase too
- QString fileName(testDataDir + "/rsa-without-passphrase.pem");
+ QString fileName(testDataDir + "rsa-without-passphrase.pem");
QFile keyFile(fileName);
{
if (!keyFile.isOpen())
diff --git a/tests/auto/network/ssl/qsslsocket/qsslsocket.pro b/tests/auto/network/ssl/qsslsocket/qsslsocket.pro
index 4ccf0f24b0..f45857b02d 100644
--- a/tests/auto/network/ssl/qsslsocket/qsslsocket.pro
+++ b/tests/auto/network/ssl/qsslsocket/qsslsocket.pro
@@ -14,6 +14,8 @@ win32 {
}
}
+TESTDATA += certs
+
DEFINES += SRCDIR=\\\"$$PWD/\\\"
requires(qtConfig(private_tests))
diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
index 4de77a9080..01a7465564 100644
--- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
@@ -278,7 +278,10 @@ private:
#endif // QT_NO_SSL
private:
static int loopLevel;
+public:
+ static QString testDataDir;
};
+QString tst_QSslSocket::testDataDir;
#ifndef QT_NO_SSL
#ifndef QT_NO_OPENSSL
@@ -332,6 +335,11 @@ void tst_QSslSocket::initTestCase_data()
void tst_QSslSocket::initTestCase()
{
+ testDataDir = QFileInfo(QFINDTESTDATA("certs")).absolutePath();
+ if (testDataDir.isEmpty())
+ testDataDir = QCoreApplication::applicationDirPath();
+ if (!testDataDir.endsWith(QLatin1String("/")))
+ testDataDir += QLatin1String("/");
#ifndef QT_NO_SSL
qDebug("Using SSL library %s (%ld)",
qPrintable(QSslSocket::sslLibraryVersionString()),
@@ -705,7 +713,7 @@ void tst_QSslSocket::connectToHostEncrypted()
QSslSocketPtr socket = newSocket();
this->socket = socket.data();
- QVERIFY(socket->addCaCertificates(QLatin1String(SRCDIR "certs/qt-test-server-cacert.pem")));
+ QVERIFY(socket->addCaCertificates(testDataDir + "certs/qt-test-server-cacert.pem"));
#ifdef QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
connect(socket.data(), SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(untrustedWorkaroundSlot(QList<QSslError>)));
@@ -739,7 +747,7 @@ void tst_QSslSocket::connectToHostEncryptedWithVerificationPeerName()
QSslSocketPtr socket = newSocket();
this->socket = socket.data();
- socket->addCaCertificates(QLatin1String(SRCDIR "certs/qt-test-server-cacert.pem"));
+ socket->addCaCertificates(testDataDir + "certs/qt-test-server-cacert.pem");
#ifdef QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
connect(socket.data(), SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(untrustedWorkaroundSlot(QList<QSslError>)));
@@ -803,10 +811,10 @@ void tst_QSslSocket::localCertificate()
// values. This test should just run the codepath inside qsslsocket_openssl.cpp
QSslSocketPtr socket = newSocket();
- QList<QSslCertificate> localCert = QSslCertificate::fromPath(SRCDIR "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> localCert = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
socket->setCaCertificates(localCert);
- socket->setLocalCertificate(QLatin1String(SRCDIR "certs/fluke.cert"));
- socket->setPrivateKey(QLatin1String(SRCDIR "certs/fluke.key"));
+ socket->setLocalCertificate(testDataDir + "certs/fluke.cert");
+ socket->setPrivateKey(testDataDir + "certs/fluke.key");
socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
QFETCH_GLOBAL(bool, setProxy);
@@ -832,7 +840,7 @@ void tst_QSslSocket::peerCertificateChain()
QSslSocketPtr socket = newSocket();
this->socket = socket.data();
- QList<QSslCertificate> caCertificates = QSslCertificate::fromPath(QLatin1String(SRCDIR "certs/qt-test-server-cacert.pem"));
+ QList<QSslCertificate> caCertificates = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
QCOMPARE(caCertificates.count(), 1);
socket->addCaCertificates(caCertificates);
#ifdef QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
@@ -895,7 +903,7 @@ void tst_QSslSocket::privateKeyOpaque()
if (!QSslSocket::supportsSsl())
return;
- QFile file(SRCDIR "certs/fluke.key");
+ QFile file(testDataDir + "certs/fluke.key");
QVERIFY(file.open(QIODevice::ReadOnly));
QSslKey key(file.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey);
QVERIFY(!key.isNull());
@@ -908,9 +916,9 @@ void tst_QSslSocket::privateKeyOpaque()
// values. This test should just run the codepath inside qsslsocket_openssl.cpp
QSslSocketPtr socket = newSocket();
- QList<QSslCertificate> localCert = QSslCertificate::fromPath(SRCDIR "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> localCert = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
socket->setCaCertificates(localCert);
- socket->setLocalCertificate(QLatin1String(SRCDIR "certs/fluke.cert"));
+ socket->setLocalCertificate(testDataDir + "certs/fluke.cert");
socket->setPrivateKey(QSslKey(reinterpret_cast<Qt::HANDLE>(pkey)));
socket->setPeerVerifyMode(QSslSocket::QueryPeer);
@@ -928,7 +936,7 @@ void tst_QSslSocket::protocol()
QSslSocketPtr socket = newSocket();
this->socket = socket.data();
- QList<QSslCertificate> certs = QSslCertificate::fromPath(SRCDIR "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> certs = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
socket->setCaCertificates(certs);
#ifdef QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
@@ -1075,8 +1083,8 @@ class SslServer : public QTcpServer
{
Q_OBJECT
public:
- SslServer(const QString &keyFile = SRCDIR "certs/fluke.key",
- const QString &certFile = SRCDIR "certs/fluke.cert",
+ SslServer(const QString &keyFile = tst_QSslSocket::testDataDir + "certs/fluke.key",
+ const QString &certFile = tst_QSslSocket::testDataDir + "certs/fluke.cert",
const QString &interFile = QString())
: socket(0),
config(QSslConfiguration::defaultConfiguration()),
@@ -1167,6 +1175,9 @@ protected slots:
void tst_QSslSocket::protocolServerSide_data()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QTest::addColumn<QSsl::SslProtocol>("serverProtocol");
QTest::addColumn<QSsl::SslProtocol>("clientProtocol");
QTest::addColumn<bool>("works");
@@ -1347,6 +1358,9 @@ void tst_QSslSocket::protocolServerSide()
void tst_QSslSocket::serverCipherPreferences()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
if (!QSslSocket::supportsSsl()) {
qWarning("SSL not supported, skipping test");
return;
@@ -1422,7 +1436,7 @@ void tst_QSslSocket::setCaCertificates()
QSslSocket socket;
QCOMPARE(socket.caCertificates(), QSslSocket::defaultCaCertificates());
- socket.setCaCertificates(QSslCertificate::fromPath(SRCDIR "certs/qt-test-server-cacert.pem"));
+ socket.setCaCertificates(QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem"));
QCOMPARE(socket.caCertificates().size(), 1);
socket.setCaCertificates(socket.defaultCaCertificates());
QCOMPARE(socket.caCertificates(), QSslSocket::defaultCaCertificates());
@@ -1438,7 +1452,7 @@ void tst_QSslSocket::localCertificateChain()
return;
QSslSocket socket;
- socket.setLocalCertificate(QLatin1String(SRCDIR "certs/fluke.cert"));
+ socket.setLocalCertificate(testDataDir + "certs/fluke.cert");
QSslConfiguration conf = socket.sslConfiguration();
QList<QSslCertificate> chain = conf.localCertificateChain();
@@ -1449,6 +1463,9 @@ void tst_QSslSocket::localCertificateChain()
void tst_QSslSocket::setLocalCertificateChain()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
if (!QSslSocket::supportsSsl())
return;
@@ -1456,9 +1473,9 @@ void tst_QSslSocket::setLocalCertificateChain()
if (setProxy)
return;
- SslServer server(QLatin1String(SRCDIR "certs/leaf.key"),
- QLatin1String(SRCDIR "certs/leaf.crt"),
- QLatin1String(SRCDIR "certs/inter.crt"));
+ SslServer server(testDataDir + "certs/leaf.key",
+ testDataDir + "certs/leaf.crt",
+ testDataDir + "certs/inter.crt");
QVERIFY(server.listen());
@@ -1486,6 +1503,9 @@ void tst_QSslSocket::setPrivateKey()
void tst_QSslSocket::setSocketDescriptor()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
if (!QSslSocket::supportsSsl())
return;
@@ -1524,7 +1544,7 @@ void tst_QSslSocket::setSslConfiguration_data()
QTest::newRow("empty") << QSslConfiguration() << false;
QSslConfiguration conf = QSslConfiguration::defaultConfiguration();
QTest::newRow("default") << conf << false; // does not contain test server cert
- QList<QSslCertificate> testServerCert = QSslCertificate::fromPath(SRCDIR "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> testServerCert = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
conf.setCaCertificates(testServerCert);
QTest::newRow("set-root-cert") << conf << true;
conf.setProtocol(QSsl::SecureProtocols);
@@ -1627,7 +1647,7 @@ void tst_QSslSocket::addDefaultCaCertificate()
// Reset the global CA chain
QSslSocket::setDefaultCaCertificates(QSslSocket::systemCaCertificates());
- QList<QSslCertificate> flukeCerts = QSslCertificate::fromPath(SRCDIR "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> flukeCerts = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
QCOMPARE(flukeCerts.size(), 1);
QList<QSslCertificate> globalCerts = QSslSocket::defaultCaCertificates();
QVERIFY(!globalCerts.contains(flukeCerts.first()));
@@ -1739,7 +1759,7 @@ void tst_QSslSocket::isMatchingHostname()
{
// with normalization: (the certificate has *.SCHÄUFELE.DE as a CN)
// openssl req -x509 -nodes -subj "/CN=*.SCHÄUFELE.DE" -newkey rsa:512 -keyout /dev/null -out xn--schufele-2za.crt
- QList<QSslCertificate> certs = QSslCertificate::fromPath(SRCDIR "certs/xn--schufele-2za.crt");
+ QList<QSslCertificate> certs = QSslCertificate::fromPath(testDataDir + "certs/xn--schufele-2za.crt");
QVERIFY(!certs.isEmpty());
QSslCertificate cert = certs.first();
@@ -1795,7 +1815,7 @@ protected:
socket->ignoreSslErrors();
// Only set the certificate
- QList<QSslCertificate> localCert = QSslCertificate::fromPath(SRCDIR "certs/fluke.cert");
+ QList<QSslCertificate> localCert = QSslCertificate::fromPath(tst_QSslSocket::testDataDir + "certs/fluke.cert");
QVERIFY(!localCert.isEmpty());
QVERIFY(!localCert.first().isNull());
socket->setLocalCertificate(localCert.first());
@@ -1808,6 +1828,9 @@ protected:
void tst_QSslSocket::setEmptyKey()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
if (!QSslSocket::supportsSsl())
return;
@@ -1829,6 +1852,9 @@ void tst_QSslSocket::setEmptyKey()
void tst_QSslSocket::spontaneousWrite()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (setProxy)
return;
@@ -1874,6 +1900,9 @@ void tst_QSslSocket::spontaneousWrite()
void tst_QSslSocket::setReadBufferSize()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (setProxy)
return;
@@ -2024,13 +2053,14 @@ protected:
socket = new QSslSocket(this);
connect(socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(ignoreErrorSlot()));
- QFile file(SRCDIR "certs/fluke.key");
+ QFile file(tst_QSslSocket::testDataDir + "certs/fluke.key");
QVERIFY(file.open(QIODevice::ReadOnly));
QSslKey key(file.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey);
QVERIFY(!key.isNull());
socket->setPrivateKey(key);
- QList<QSslCertificate> localCert = QSslCertificate::fromPath(SRCDIR "certs/fluke.cert");
+ QList<QSslCertificate> localCert = QSslCertificate::fromPath(tst_QSslSocket::testDataDir
+ + "certs/fluke.cert");
QVERIFY(!localCert.isEmpty());
QVERIFY(!localCert.first().isNull());
socket->setLocalCertificate(localCert.first());
@@ -2134,6 +2164,9 @@ void tst_QSslSocket::waitForMinusOne()
#ifdef Q_OS_WIN
QSKIP("QTBUG-24451 - indefinite wait may hang");
#endif
+#ifdef Q_OS_WINRT // This can stay in case the one above goes away
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (setProxy)
return;
@@ -2203,8 +2236,8 @@ protected:
{
socket = new QSslSocket(this);
- socket->setPrivateKey(SRCDIR "certs/fluke.key");
- socket->setLocalCertificate(SRCDIR "certs/fluke.cert");
+ socket->setPrivateKey(tst_QSslSocket::testDataDir + "certs/fluke.key");
+ socket->setLocalCertificate(tst_QSslSocket::testDataDir + "certs/fluke.cert");
socket->setSocketDescriptor(socketDescriptor);
socket->startServerEncryption();
}
@@ -2212,6 +2245,9 @@ protected:
void tst_QSslSocket::verifyMode()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (setProxy)
return;
@@ -2319,7 +2355,7 @@ void tst_QSslSocket::resetProxy()
// make sure the connection works, and then set a nonsense proxy, and then
// make sure it does not work anymore
QSslSocket socket;
- socket.addCaCertificates(QLatin1String(SRCDIR "certs/qt-test-server-cacert.pem"));
+ socket.addCaCertificates(testDataDir + "certs/qt-test-server-cacert.pem");
socket.setProxy(goodProxy);
socket.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
QVERIFY2(socket.waitForConnected(10000), qPrintable(socket.errorString()));
@@ -2338,7 +2374,7 @@ void tst_QSslSocket::resetProxy()
// set the nonsense proxy and make sure the connection does not work,
// and then set the right proxy and make sure it works
QSslSocket socket2;
- socket2.addCaCertificates(QLatin1String(SRCDIR "certs/qt-test-server-cacert.pem"));
+ socket2.addCaCertificates(testDataDir + "certs/qt-test-server-cacert.pem");
socket2.setProxy(badProxy);
socket2.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
QVERIFY(! socket2.waitForConnected(10000));
@@ -2357,7 +2393,7 @@ void tst_QSslSocket::ignoreSslErrorsList_data()
// construct the list of errors that we will get with the SSL handshake and that we will ignore
QList<QSslError> expectedSslErrors;
// fromPath gives us a list of certs, but it actually only contains one
- QList<QSslCertificate> certs = QSslCertificate::fromPath(QLatin1String(SRCDIR "certs/qt-test-server-cacert.pem"));
+ QList<QSslCertificate> certs = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
QSslError rightError(FLUKE_CERTIFICATE_ERROR, certs.at(0));
QSslError wrongError(FLUKE_CERTIFICATE_ERROR);
@@ -2430,6 +2466,9 @@ void tst_QSslSocket::ignoreSslErrorsListWithSlot()
void tst_QSslSocket::abortOnSslErrors()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (setProxy)
return;
@@ -2491,6 +2530,7 @@ void tst_QSslSocket::writeBigChunk()
QByteArray data;
data.resize(1024*1024*10); // 10 MB
// init with garbage. needed so ssl cannot compress it in an efficient way.
+ // ### Qt 6: update to a random engine
for (size_t i = 0; i < data.size() / sizeof(int); i++) {
int r = qrand();
data.data()[i*sizeof(int)] = r;
@@ -2525,11 +2565,14 @@ void tst_QSslSocket::writeBigChunk()
void tst_QSslSocket::blacklistedCertificates()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (setProxy)
return;
- SslServer server(SRCDIR "certs/fake-login.live.com.key", SRCDIR "certs/fake-login.live.com.pem");
+ SslServer server(testDataDir + "certs/fake-login.live.com.key", testDataDir + "certs/fake-login.live.com.pem");
QSslSocket *receiver = new QSslSocket(this);
connect(receiver, SIGNAL(readyRead()), SLOT(exitLoop()));
@@ -2641,7 +2684,7 @@ void tst_QSslSocket::resume_data()
QTest::newRow("DoNotIgnoreErrors") << false << QList<QSslError>() << false;
QTest::newRow("ignoreAllErrors") << true << QList<QSslError>() << true;
- QList<QSslCertificate> certs = QSslCertificate::fromPath(QLatin1String(SRCDIR "certs/qt-test-server-cacert.pem"));
+ QList<QSslCertificate> certs = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
QSslError rightError(FLUKE_CERTIFICATE_ERROR, certs.at(0));
QSslError wrongError(FLUKE_CERTIFICATE_ERROR);
errorsList.append(wrongError);
@@ -2711,8 +2754,8 @@ class WebSocket : public QSslSocket
Q_OBJECT
public:
explicit WebSocket(qintptr socketDescriptor,
- const QString &keyFile = SRCDIR "certs/fluke.key",
- const QString &certFile = SRCDIR "certs/fluke.cert");
+ const QString &keyFile = tst_QSslSocket::testDataDir + "certs/fluke.key",
+ const QString &certFile = tst_QSslSocket::testDataDir + "certs/fluke.cert");
protected slots:
void onReadyReadFirstBytes(void);
@@ -2782,6 +2825,9 @@ protected:
void tst_QSslSocket::qtbug18498_peek()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (setProxy)
return;
@@ -2849,6 +2895,9 @@ protected:
void tst_QSslSocket::qtbug18498_peek2()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (setProxy)
return;
@@ -2917,13 +2966,13 @@ void tst_QSslSocket::qtbug18498_peek2()
QCOMPARE(a[2], 'S');
QCOMPARE(server->readAll(), QByteArray("TLS\r\n"));
- QFile file(SRCDIR "certs/fluke.key");
+ QFile file(testDataDir + "certs/fluke.key");
QVERIFY(file.open(QIODevice::ReadOnly));
QSslKey key(file.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey);
QVERIFY(!key.isNull());
server->setPrivateKey(key);
- QList<QSslCertificate> localCert = QSslCertificate::fromPath(SRCDIR "certs/fluke.cert");
+ QList<QSslCertificate> localCert = QSslCertificate::fromPath(testDataDir + "certs/fluke.cert");
QVERIFY(!localCert.isEmpty());
QVERIFY(!localCert.first().isNull());
server->setLocalCertificate(localCert.first());
@@ -2963,6 +3012,9 @@ void tst_QSslSocket::qtbug18498_peek2()
void tst_QSslSocket::dhServer()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
if (!QSslSocket::supportsSsl())
QSKIP("No SSL support");
@@ -3072,6 +3124,9 @@ void tst_QSslSocket::dhServerCustomParams()
void tst_QSslSocket::ecdhServer()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
if (!QSslSocket::supportsSsl()) {
qWarning("SSL not supported, skipping test");
return;
@@ -3117,10 +3172,10 @@ void tst_QSslSocket::verifyClientCertificate_data()
QTest::newRow("NoCert:VerifyPeer") << QSslSocket::VerifyPeer << noCerts << noKey << false;
// self-signed certificate
- QList<QSslCertificate> flukeCerts = QSslCertificate::fromPath(SRCDIR "certs/fluke.cert");
+ QList<QSslCertificate> flukeCerts = QSslCertificate::fromPath(testDataDir + "certs/fluke.cert");
QCOMPARE(flukeCerts.size(), 1);
- QFile flukeFile(SRCDIR "certs/fluke.key");
+ QFile flukeFile(testDataDir + "certs/fluke.key");
QVERIFY(flukeFile.open(QIODevice::ReadOnly));
QSslKey flukeKey(flukeFile.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey);
QVERIFY(!flukeKey.isNull());
@@ -3131,10 +3186,10 @@ void tst_QSslSocket::verifyClientCertificate_data()
QTest::newRow("SelfSignedCert:VerifyPeer") << QSslSocket::VerifyPeer << flukeCerts << flukeKey << false;
// valid certificate, but wrong usage (server certificate)
- QList<QSslCertificate> serverCerts = QSslCertificate::fromPath(SRCDIR "certs/bogus-server.crt");
+ QList<QSslCertificate> serverCerts = QSslCertificate::fromPath(testDataDir + "certs/bogus-server.crt");
QCOMPARE(serverCerts.size(), 1);
- QFile serverFile(SRCDIR "certs/bogus-server.key");
+ QFile serverFile(testDataDir + "certs/bogus-server.key");
QVERIFY(serverFile.open(QIODevice::ReadOnly));
QSslKey serverKey(serverFile.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey);
QVERIFY(!serverKey.isNull());
@@ -3145,10 +3200,10 @@ void tst_QSslSocket::verifyClientCertificate_data()
QTest::newRow("ValidServerCert:VerifyPeer") << QSslSocket::VerifyPeer << serverCerts << serverKey << false;
// valid certificate, correct usage (client certificate)
- QList<QSslCertificate> validCerts = QSslCertificate::fromPath(SRCDIR "certs/bogus-client.crt");
+ QList<QSslCertificate> validCerts = QSslCertificate::fromPath(testDataDir + "certs/bogus-client.crt");
QCOMPARE(validCerts.size(), 1);
- QFile validFile(SRCDIR "certs/bogus-client.key");
+ QFile validFile(testDataDir + "certs/bogus-client.key");
QVERIFY(validFile.open(QIODevice::ReadOnly));
QSslKey validKey(validFile.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey);
QVERIFY(!validKey.isNull());
@@ -3159,7 +3214,7 @@ void tst_QSslSocket::verifyClientCertificate_data()
QTest::newRow("ValidClientCert:VerifyPeer") << QSslSocket::VerifyPeer << validCerts << validKey << true;
// valid certificate, correct usage (client certificate), with chain
- validCerts += QSslCertificate::fromPath(SRCDIR "certs/bogus-ca.crt");
+ validCerts += QSslCertificate::fromPath(testDataDir + "certs/bogus-ca.crt");
QCOMPARE(validCerts.size(), 2);
QTest::newRow("ValidClientCert:AutoVerifyPeer") << QSslSocket::AutoVerifyPeer << validCerts << validKey << true;
@@ -3178,6 +3233,9 @@ void tst_QSslSocket::verifyClientCertificate()
// success instead of failure etc.).
QSKIP("This test can not work with Secure Transport");
#endif
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
if (!QSslSocket::supportsSsl()) {
qWarning("SSL not supported, skipping test");
return;
@@ -3189,7 +3247,7 @@ void tst_QSslSocket::verifyClientCertificate()
QFETCH(QSslSocket::PeerVerifyMode, peerVerifyMode);
SslServer server;
- server.addCaCertificates = QLatin1String(SRCDIR "certs/bogus-ca.crt");
+ server.addCaCertificates = testDataDir + "certs/bogus-ca.crt";
server.ignoreSslErrors = false;
server.peerVerifyMode = peerVerifyMode;
QVERIFY(server.listen());
@@ -3688,6 +3746,9 @@ void tst_QSslSocket::simplePskConnect()
void tst_QSslSocket::ephemeralServerKey_data()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QTest::addColumn<QString>("cipher");
QTest::addColumn<bool>("emptyKey");
@@ -3762,6 +3823,9 @@ void tst_QSslSocket::allowedProtocolNegotiation()
void tst_QSslSocket::pskServer()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Server-side encryption is not implemented on WinRT.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (!QSslSocket::supportsSsl() || setProxy)
return;