summaryrefslogtreecommitdiffstats
path: root/tests/auto/qsslcertificate
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-06-29 14:33:11 (GMT)
committerKent Hansen <khansen@trolltech.com>2009-06-29 14:33:11 (GMT)
commitec77bff0731d9388d5c8abea782468a1ad16b633 (patch)
tree63c6452eeb32deaebe1ca5c839c2a4512cac3e0f /tests/auto/qsslcertificate
parent92a708a2e6271bbfeac9a6e80cf30aba8fd092b9 (diff)
parent4a82d7cc185bd98ec8183fb0ccadefd3196b3ee2 (diff)
downloadQt-ec77bff0731d9388d5c8abea782468a1ad16b633.zip
Qt-ec77bff0731d9388d5c8abea782468a1ad16b633.tar.gz
Qt-ec77bff0731d9388d5c8abea782468a1ad16b633.tar.bz2
Merge branch 'qtwebkit-4.6-staging' into qtscript-jsc-backend
Conflicts: src/script/api/qscriptable.cpp src/script/api/qscriptclasspropertyiterator.cpp src/script/api/qscriptcontext.cpp src/script/api/qscriptengine.h src/script/api/qscriptengineagent.cpp src/script/api/qscriptextensionplugin.cpp src/script/api/qscriptvalue.h src/script/api/qscriptvalueiterator.cpp src/script/parser/qscript.g src/script/parser/qscriptast.cpp src/script/parser/qscriptast_p.h src/script/parser/qscriptastvisitor_p.h src/script/parser/qscriptgrammar.cpp src/script/parser/qscriptgrammar_p.h src/script/parser/qscriptlexer.cpp src/script/parser/qscriptlexer_p.h src/script/parser/qscriptparser.cpp src/script/parser/qscriptparser_p.h src/script/parser/qscriptsyntaxchecker.cpp src/script/qscriptable.h src/script/qscriptable_p.h src/script/qscriptarray_p.h src/script/qscriptasm.cpp src/script/qscriptasm_p.h src/script/qscriptastfwd_p.h src/script/qscriptastvisitor.cpp src/script/qscriptbuffer_p.h src/script/qscriptclass.cpp src/script/qscriptclass.h src/script/qscriptclass_p.h src/script/qscriptclassdata.cpp src/script/qscriptclassdata_p.h src/script/qscriptclassinfo_p.h src/script/qscriptclasspropertyiterator.h src/script/qscriptclasspropertyiterator_p.h src/script/qscriptcompiler.cpp src/script/qscriptcompiler_p.h src/script/qscriptcontext.h src/script/qscriptcontext_p.cpp src/script/qscriptcontext_p.h src/script/qscriptcontextfwd_p.h src/script/qscriptcontextinfo.cpp src/script/qscriptcontextinfo.h src/script/qscriptcontextinfo_p.h src/script/qscriptecmaarray.cpp src/script/qscriptecmaarray_p.h src/script/qscriptecmaboolean.cpp src/script/qscriptecmaboolean_p.h src/script/qscriptecmacore.cpp src/script/qscriptecmacore_p.h src/script/qscriptecmadate.cpp src/script/qscriptecmadate_p.h src/script/qscriptecmaerror.cpp src/script/qscriptecmaerror_p.h src/script/qscriptecmafunction.cpp src/script/qscriptecmafunction_p.h src/script/qscriptecmaglobal.cpp src/script/qscriptecmaglobal_p.h src/script/qscriptecmamath.cpp src/script/qscriptecmamath_p.h src/script/qscriptecmanumber.cpp src/script/qscriptecmanumber_p.h src/script/qscriptecmaobject.cpp src/script/qscriptecmaobject_p.h src/script/qscriptecmaregexp.cpp src/script/qscriptecmaregexp_p.h src/script/qscriptecmastring.cpp src/script/qscriptecmastring_p.h src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptengine_p.h src/script/qscriptengineagent.h src/script/qscriptengineagent_p.h src/script/qscriptenginefwd_p.h src/script/qscriptextensioninterface.h src/script/qscriptextensionplugin.h src/script/qscriptextenumeration.cpp src/script/qscriptextenumeration_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h src/script/qscriptextvariant.cpp src/script/qscriptextvariant_p.h src/script/qscriptfunction.cpp src/script/qscriptfunction_p.h src/script/qscriptgc_p.h src/script/qscriptglobals_p.h src/script/qscriptmember_p.h src/script/qscriptmemberfwd_p.h src/script/qscriptmemorypool_p.h src/script/qscriptnameid_p.h src/script/qscriptnodepool_p.h src/script/qscriptobject_p.h src/script/qscriptobjectdata_p.h src/script/qscriptobjectfwd_p.h src/script/qscriptrepository_p.h src/script/qscriptstring.cpp src/script/qscriptstring.h src/script/qscriptstring_p.h src/script/qscriptsyntaxchecker_p.h src/script/qscriptsyntaxcheckresult_p.h src/script/qscriptvalue.cpp src/script/qscriptvalue_p.h src/script/qscriptvaluefwd_p.h src/script/qscriptvalueimpl.cpp src/script/qscriptvalueimpl_p.h src/script/qscriptvalueimplfwd_p.h src/script/qscriptvalueiterator.h src/script/qscriptvalueiterator_p.h src/script/qscriptvalueiteratorimpl.cpp src/script/qscriptvalueiteratorimpl_p.h src/script/visitors/qscriptprettypretty.cpp src/script/visitors/qscriptprettypretty_p.h src/script/visitors/qscriptxmlgenerator.cpp src/script/visitors/qscriptxmlgenerator_p.h
Diffstat (limited to 'tests/auto/qsslcertificate')
-rw-r--r--tests/auto/qsslcertificate/tst_qsslcertificate.cpp42
1 files changed, 40 insertions, 2 deletions
diff --git a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
index 6f50fc4..7fd92d6 100644
--- a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the test suite of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -99,6 +99,7 @@ private slots:
void fromPath_data();
void fromPath();
void certInfo();
+ void task256066toPem();
// ### add tests for certificate bundles (multiple certificates concatenated into a single
// structure); both PEM and DER formatted
#endif
@@ -689,6 +690,43 @@ void tst_QSslCertificate::certInfo()
QCOMPARE(cert, QSslCertificate(QByteArray::fromHex(der), QSsl::Der));
}
+void tst_QSslCertificate::task256066toPem()
+{
+ // a certificate whose PEM encoding's length is a multiple of 64
+ const char *mycert = "-----BEGIN CERTIFICATE-----\n" \
+ "MIIEGjCCAwKgAwIBAgIESikYSjANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQGEwJF\n" \
+ "RTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEPMA0GA1UECxMG\n" \
+ "RVNURUlEMRcwFQYDVQQDEw5FU1RFSUQtU0sgMjAwNzAeFw0wOTA2MDUxMzA2MTha\n" \
+ "Fw0xNDA2MDkyMTAwMDBaMIGRMQswCQYDVQQGEwJFRTEPMA0GA1UEChMGRVNURUlE\n" \
+ "MRcwFQYDVQQLEw5hdXRoZW50aWNhdGlvbjEhMB8GA1UEAxMYSEVJQkVSRyxTVkVO\n" \
+ "LDM3NzA5MjcwMjg1MRAwDgYDVQQEEwdIRUlCRVJHMQ0wCwYDVQQqEwRTVkVOMRQw\n" \
+ "EgYDVQQFEwszNzcwOTI3MDI4NTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\n" \
+ "k2Euwhm34vu1jOFp02J5fQRx9LW2C7x78CbJ7yInoAKn7QR8UdxTU7mJk90Opejo\n" \
+ "71RUi2/aYl4jCr9gr99v2YoLufMRwAuqdmwmwqH1WAHRUtIcD0oPdKyelmmn9ig0\n" \
+ "RV+yJLNT3dnyrwPw+uuzDe3DeKepGKE4lxexliCaAx0CAyCMW6OCATEwggEtMA4G\n" \
+ "A1UdDwEB/wQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwPAYD\n" \
+ "VR0fBDUwMzAxoC+gLYYraHR0cDovL3d3dy5zay5lZS9jcmxzL2VzdGVpZC9lc3Rl\n" \
+ "aWQyMDA3LmNybDAgBgNVHREEGTAXgRVzdmVuLmhlaWJlcmdAZWVzdGkuZWUwUQYD\n" \
+ "VR0gBEowSDBGBgsrBgEEAc4fAQEBATA3MBIGCCsGAQUFBwICMAYaBG5vbmUwIQYI\n" \
+ "KwYBBQUHAgEWFWh0dHA6Ly93d3cuc2suZWUvY3BzLzAfBgNVHSMEGDAWgBRIBt6+\n" \
+ "jIdXlYB4Y/qcIysroDoYdTAdBgNVHQ4EFgQUKCjpDf+LcvL6AH0QOiW6rMTtB/0w\n" \
+ "CQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEABRyRuUm9zt8V27WuNeXtCDmU\n" \
+ "MGzA6g4QXNAd2nxFzT3k+kNzzQTOcgRdmjiEPuK49On+GWnBr/5MSBNhbCJVPWr/\n" \
+ "yym1UYTBisaqhRt/N/kwZqd0bHeLJk+ZxSePXRyqkp9H8KPWqz7H+O/FxRS4ffxo\n" \
+ "Q9Clem+e0bcjNlL5xXiRGycBeZq8cKj+0+A/UuattznQlvHdlCEsSeu1fPOORqFV\n" \
+ "fZur4HC31lQD7xVvETLiL83CtOQC78+29XPD6Zlrrc5OF2yibSVParY19b8Zh6yu\n" \
+ "p1dNvN8pBgXGrsyxRonwHooV2ghGNmGILkpdvlQfnxeCUg4erfHjDdSY9vmT7w==\n" \
+ "-----END CERTIFICATE-----\n";
+
+ QByteArray pem1(mycert);
+ QSslCertificate cert1(pem1);
+ QVERIFY(!cert1.isNull());
+ QByteArray pem2(cert1.toPem());
+ QSslCertificate cert2(pem2);
+ QVERIFY(!cert2.isNull());
+ QCOMPARE(pem1, pem2);
+}
+
#endif // QT_NO_OPENSSL
QTEST_MAIN(tst_QSslCertificate)