diff -r b63e8c2d8cff -r 604cd42065d1 pkiutilities/untrustedcertificatedialog/inc/untrustedcertificateinfobase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkiutilities/untrustedcertificatedialog/inc/untrustedcertificateinfobase.h Thu Jul 22 16:43:28 2010 +0100 @@ -0,0 +1,94 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Certificate info class for TLS untrusted certificate dialog. +* +*/ + +#ifndef UNTRUSTEDCERTIFICATEINFOBASE_H +#define UNTRUSTEDCERTIFICATEINFOBASE_H + +#include +#include + +/** + * Certificate info class for secure connections (TLS) untrusted certificate dialog. + * This is abstract class that is used in UI code to get displayable certificate + * details. Concrete (possibly platform specific) classes implement the functionality. + */ +class UntrustedCertificateInfoBase : public QObject +{ + Q_OBJECT + +public: // definitions + enum CertificateFormat { + UnknownCertificate, + X509Certificate, + WTLSCertificate, + X968Certificate + }; + enum Algorithm { + Unknown, + RSA, + DSA, + DH, + MD2, + MD5, + SHA1, + SHA224, + SHA256, + SHA384, + SHA512 + }; + +protected: // constructor, available for derived classes only + UntrustedCertificateInfoBase(); + +public: // destructor + virtual ~UntrustedCertificateInfoBase(); + +public: // new functions + virtual const QString subjectName() const; + virtual const QString issuerName() const; + virtual const QByteArray fingerprint() const; + virtual const QByteArray serialNumber() const; + virtual const QDateTime validFrom() const; + virtual const QDateTime validTo() const; + virtual const QString format() const; + virtual const QString digestAlgorithm() const; + virtual const QString asymmetricAlgorithm() const; + virtual const QString combinedAlgorithmName() const; + virtual const QString formattedFingerprint(const QByteArray &fingerprint) const; + virtual const QString formattedSerialNumber(const QByteArray &serialNumber) const; + virtual bool isDateValid() const; + +public: // new abstract functions + virtual bool commonNameMatches(const QString &siteName) const = 0; + virtual QString certificateDetails(const QString &siteName) const = 0; + +private: // new functions + const QString algorithmName(Algorithm algorithm) const; + +protected: // data + QString mSubjectName; + QString mIssuerName; + QByteArray mFingerprint; + QByteArray mSerialNumber; + QDateTime mValidFrom; + QDateTime mValidTo; + CertificateFormat mFormat; + Algorithm mDigestAlgorithm; + Algorithm mAsymmetricAlgorithm; +}; + +#endif // UNTRUSTEDCERTIFICATEINFOBASE_H