summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Hartmann <peter.hartmann@trolltech.com>2009-09-01 10:30:11 +0200
committerPeter Hartmann <peter.hartmann@trolltech.com>2009-09-01 10:35:28 +0200
commit67d5b1b800df55c61241c7fa33feeeea41a31513 (patch)
tree1cd7a9e31000daa5f96419989e15026b024caa8d
parent8f1596ae9b64870c54958611552c71b0b390038f (diff)
QSslCertificate: fix previous patch, add autotest and documentation
The +1 must be added to the version, not the serial number. Reviewed-by: trustme
-rw-r--r--src/network/ssl/qsslcertificate.cpp6
-rw-r--r--tests/auto/qsslcertificate/tst_qsslcertificate.cpp6
2 files changed, 8 insertions, 4 deletions
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
index c128da9803..3793b1e449 100644
--- a/src/network/ssl/qsslcertificate.cpp
+++ b/src/network/ssl/qsslcertificate.cpp
@@ -252,19 +252,19 @@ QByteArray QSslCertificate::version() const
{
if (d->versionString.isEmpty() && d->x509)
d->versionString =
- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)));
+ QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
return d->versionString;
}
/*!
- Returns the certificate's serial number string.
+ Returns the certificate's serial number string in decimal format.
*/
QByteArray QSslCertificate::serialNumber() const
{
if (d->serialNumberString.isEmpty() && d->x509)
d->serialNumberString =
- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->serialNumber)) + 1);
+ QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->serialNumber)));
return d->serialNumberString;
}
diff --git a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
index add48c4916..4dfb6b9033 100644
--- a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
@@ -267,6 +267,8 @@ void tst_QSslCertificate::compareCertificates(
QCOMPARE(cert1.alternateSubjectNames(), cert2.alternateSubjectNames());
QCOMPARE(cert1.effectiveDate(), cert2.effectiveDate());
QCOMPARE(cert1.expiryDate(), cert2.expiryDate());
+ QCOMPARE(cert1.version(), cert2.version());
+ QCOMPARE(cert1.serialNumber(), cert2.serialNumber());
// ### add more functions here ...
}
@@ -677,7 +679,9 @@ void tst_QSslCertificate::certInfo()
QCOMPARE(cert.subjectInfo("C"), QString("NO"));
QCOMPARE(cert.subjectInfo("ST"), QString());
- QCOMPARE(cert.version(), QByteArray());
+ QCOMPARE(cert.version(), QByteArray::number(1));
+ QCOMPARE(cert.serialNumber(), QByteArray::number(17));
+
QCOMPARE(cert.toPem().constData(), (const char*)pem);
QCOMPARE(cert.toDer(), QByteArray::fromHex(der));