| # kio Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# kssld.h

    00001 /*
    00002    This file is part of the KDE libraries
    00003
    00004    Copyright (c) 2001 George Staikos <staikos@kde.org>
    00005
    00006    This library is free software; you can redistribute it and/or
    00007    modify it under the terms of the GNU Library General Public
    00008    License as published by the Free Software Foundation; either
    00009    version 2 of the License, or (at your option) any later version.
    00010
    00011    This library is distributed in the hope that it will be useful,
    00012    but WITHOUT ANY WARRANTY; without even the implied warranty of
    00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00014    Library General Public License for more details.
    00015
    00016    You should have received a copy of the GNU Library General Public License
    00017    along with this library; see the file COPYING.LIB.  If not, write to
    00018    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00019    Boston, MA 02111-1307, USA.
    00020
    00021 */
    00022 #ifndef __KSSLD_H__
    00023 #define __KSSLD_H__
    00024
    00025 #include <kded/kdedmodule.h>
    00026 #include <ksslcertificate.h>
    00027 #include <ksslcertificatecache.h>
    00028 #include <qstring.h>
    00029 #include <qstringlist.h>
    00030
    00031
    00032 class KSimpleConfig;
    00033 class KSSLCNode;
    00034 class KOpenSSLProxy;
    00035
    00036 class KSSLD : public KDEDModule
    00037 {
    00038   Q_OBJECT
    00039   K_DCOP
    00040
    00041 public:
    00042
    00043   KSSLD(const QCString &name);
    00044
    00045   virtual ~KSSLD();
    00046
    00047 k_dcop:
    00048   //
    00049   //  Certificate Cache methods
    00050   //
    00051   void cacheAddCertificate(KSSLCertificate cert,
    00052                            KSSLCertificateCache::KSSLCertificatePolicy policy,
    00053                            bool permanent = true);
    00054   KSSLCertificateCache::KSSLCertificatePolicy cacheGetPolicyByCN(QString cn);
    00055
    00056   KSSLCertificateCache::KSSLCertificatePolicy cacheGetPolicyByCertificate(KSSLCertificate cert);
    00057
    00058   bool cacheSeenCN(QString cn);
    00059   bool cacheSeenCertificate(KSSLCertificate cert);
    00060
    00061   bool cacheRemoveByCN(QString cn);
    00062   bool cacheRemoveByCertificate(KSSLCertificate cert);
    00063
    00064   bool cacheIsPermanent(KSSLCertificate cert);
    00065
    00066   void cacheReload();
    00067
    00068   bool cacheModifyByCN(QString cn,
    00069                        KSSLCertificateCache::KSSLCertificatePolicy policy,
    00070                        bool permanent,
    00071                        QDateTime expires);
    00072
    00073   bool cacheModifyByCertificate(KSSLCertificate cert,
    00074                            KSSLCertificateCache::KSSLCertificatePolicy policy,
    00075                                 bool permanent,
    00076                                 QDateTime expires);
    00077
    00078   QStringList cacheGetHostList(KSSLCertificate cert);
    00079
    00080   bool cacheAddHost(KSSLCertificate cert, QString host);
    00081
    00082   bool cacheRemoveHost(KSSLCertificate cert, QString host);
    00083
    00084   /* Certificate Authorities */
    00085   bool caRegenerate();
    00086
    00087   QStringList caList();
    00088
    00089   bool caUseForSSL(QString subject);
    00090
    00091   bool caUseForEmail(QString subject);
    00092
    00093   bool caUseForCode(QString subject);
    00094
    00095   bool caAdd(QString certificate, bool ssl, bool email, bool code);
    00096
    00097   bool caRemove(QString subject);
    00098
    00099   QString caGetCert(QString subject);
    00100
    00101   bool caSetUse(QString subject, bool ssl, bool email, bool code);
    00102
    00103   //
    00104   //  Certificate Home methods
    00105   //
    00106
    00107 private:
    00108
    00109   void cacheClearList();
    00110   void cacheSaveToDisk();
    00111   void cacheLoadDefaultPolicies();
    00112
    00113   // for the cache portion:
    00114   KSimpleConfig *cfg;
    00115   QPtrList<KSSLCNode> certList;
    00116
    00117   // Our pointer to OpenSSL
    00118   KOpenSSLProxy *kossl;
    00119 };
    00120
    00121
    00122 #endif

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:14:25 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001