/* This file is part of the KDE project * * Copyright (C) 2000-2003 George Staikos * Copyright (C) 2000 Malte Starostik * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #ifndef SSLINFODIALOG_P_H #define SSLINFODIALOG_P_H #include #include #include // NOTE: We need a copy of this header file is needed here because it // is never installed by default by KIO. /** * KDE SSL Information Dialog * * This class creates a dialog that can be used to display information about * an SSL session. * * There are NO GUARANTEES that KSslInfoDialog will remain binary compatible/ * Contact staikos@kde.org for details if needed. * * @author George Staikos * @see KSSL * @short KDE SSL Information Dialog */ class KDE_EXPORT KSslInfoDialog : public KDialog { Q_OBJECT public: /** * Construct a KSSL Information Dialog * * @param parent the parent widget */ explicit KSslInfoDialog(QWidget *parent = 0); /** * Destroy this dialog */ virtual ~KSslInfoDialog(); /** * Tell the dialog if the connection has portions that may not be * secure (ie. a mixture of secure and insecure frames) * * @param isIt true if security is in question */ void setSecurityInQuestion(bool isIt); /** * Set information to display about the SSL connection. * * @param certificateChain the certificate chain leading from the certificate * authority to the peer. * @param ip the ip of the remote host * @param host the remote hostname * @param sslProtocol the version of SSL in use (SSLv2, SSLv3, TLSv1) * @param cipher the cipher in use * @param usedBits the used bits of the key * @param bits the key size of the cipher in use * @param validationErrors errors validating the certificates, if any */ void setSslInfo(const QList &certificateChain, const QString &ip, const QString &host, const QString &sslProtocol, const QString &cipher, int usedBits, int bits, const QList > &validationErrors); void setMainPartEncrypted(bool); void setAuxiliaryPartsEncrypted(bool); static QList > errorsFromString(const QString &s); private Q_SLOTS: void launchConfig(); void displayFromChain(int); private: void updateWhichPartsEncrypted(); class KSslInfoDialogPrivate; KSslInfoDialogPrivate* const d; }; #endif // SSLINFODIALOG_P_H