diff options
author | Richard Moore <rich@kde.org> | 2011-06-18 09:22:11 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-06-27 20:44:36 +0200 |
commit | 2cf935b43e41c6589159536652412dab443ff1f8 (patch) | |
tree | 95bcd7638f509c48d2b139920e3936a9d4e7e60c /src/network/ssl/qsslcertificate.h | |
parent | cadbfc07b68513920bb877e2e0212988c43f1fa4 (diff) |
Certificates can have each issuer and subject field many times
THIS COMMIT BREAKS SOURCE COMPATIBILITY BETWEEN Qt 4 AND Qt 5
Qt4 assumed that there was only one entry of each type in the subject
and issuer of a certificate. This is incorrect (eg. you can have many
common names). In addition, some of the fields required by RFC3280
were not suppport. This change modifiers the API to return a list of
entries of each type and adds support for the missing fields. It also
updates the commonname matching code for SSL connections to handle
multiple entries.
Change-Id: I9457266a205def0a07c13de47094ff56ead42845
Merge-request: 5
Reviewed-on: http://codereview.qt.nokia.com/796
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Diffstat (limited to 'src/network/ssl/qsslcertificate.h')
-rw-r--r-- | src/network/ssl/qsslcertificate.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/network/ssl/qsslcertificate.h b/src/network/ssl/qsslcertificate.h index b942bd8a25..8abaa3f73e 100644 --- a/src/network/ssl/qsslcertificate.h +++ b/src/network/ssl/qsslcertificate.h @@ -76,7 +76,10 @@ public: LocalityName, OrganizationalUnitName, CountryName, - StateOrProvinceName + StateOrProvinceName, + DistinguishedNameQualifier, + SerialNumber, + EmailAddress }; QSslCertificate(QIODevice *device, QSsl::EncodingFormat format = QSsl::Pem); @@ -96,10 +99,10 @@ public: QByteArray version() const; QByteArray serialNumber() const; QByteArray digest(QCryptographicHash::Algorithm algorithm = QCryptographicHash::Md5) const; - QString issuerInfo(SubjectInfo info) const; - QString issuerInfo(const QByteArray &tag) const; - QString subjectInfo(SubjectInfo info) const; - QString subjectInfo(const QByteArray &tag) const; + QStringList issuerInfo(SubjectInfo info) const; + QStringList issuerInfo(const QByteArray &tag) const; + QStringList subjectInfo(SubjectInfo info) const; + QStringList subjectInfo(const QByteArray &tag) const; QMultiMap<QSsl::AlternateNameEntryType, QString> alternateSubjectNames() const; QDateTime effectiveDate() const; QDateTime expiryDate() const; |