ksslcertificatecache.h
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef _INCLUDE_KSSLCCACHE_H
00022 #define _INCLUDE_KSSLCCACHE_H
00023 
00024 class KSSLCertificate;
00025 #include <qstring.h>
00026 #include <qstringlist.h>
00027 #include <qdatetime.h>
00028 
00029 
00030 class KSSLCertificateCache {
00031 public:
00032 
00033 enum KSSLCertificatePolicy { Unknown, Reject, Accept, Prompt, Ambiguous };
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043   KSSLCertificateCache();
00044   ~KSSLCertificateCache();
00045 
00046   void addCertificate(KSSLCertificate& cert, KSSLCertificatePolicy policy, 
00047                                                      bool permanent = true);
00048 
00049   
00050   
00051   
00052   
00053   
00054   
00055   
00056   
00057   KSSLCertificatePolicy getPolicyByCN(QString& cn);
00058 
00059   KSSLCertificatePolicy getPolicyByCertificate(KSSLCertificate& cert);
00060 
00061   bool seenCN(QString& cn);
00062   bool seenCertificate(KSSLCertificate& cert);
00063 
00064   bool removeByCN(QString& cn);
00065   bool removeByCertificate(KSSLCertificate& cert);
00066 
00067   bool isPermanent(KSSLCertificate& cert);
00068 
00069   bool modifyByCN(QString& cn,
00070                   KSSLCertificateCache::KSSLCertificatePolicy policy,
00071                   bool permanent,
00072                   QDateTime& expires);
00073 
00074   bool modifyByCertificate(KSSLCertificate& cert,
00075                            KSSLCertificateCache::KSSLCertificatePolicy policy,
00076                            bool permanent,
00077                            QDateTime& expires);
00078 
00079   QStringList getHostList(KSSLCertificate& cert);
00080   bool addHost(KSSLCertificate& cert, QString& host);
00081   bool removeHost(KSSLCertificate& cert, QString& host);
00082 
00083   
00084   QStringList getKDEKeyByEmail(const QString &email);
00085   KSSLCertificate *getCertByMD5Digest(const QString &key);
00086 
00087   void reload();
00088 
00089   
00090   
00091   void saveToDisk();
00092 
00093 private:
00094   class KSSLCertificateCachePrivate;
00095   KSSLCertificateCachePrivate *d;
00096 
00097   void loadDefaultPolicies();
00098   void clearList();
00099 
00100 };
00101 
00102 
00103 QDataStream& operator<<(QDataStream& s, const KSSLCertificateCache::KSSLCertificatePolicy& p);
00104 QDataStream& operator>>(QDataStream& s, KSSLCertificateCache::KSSLCertificatePolicy& p);
00105 
00106 #endif
 
This file is part of the documentation for kio Library Version 3.2.0.