kio Library API Documentation

ksslcertificatehome.h

00001 /* This file is part of the KDE project 00002 * 00003 * Copyright (C) 2000-2003 George Staikos <staikos@kde.org> 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Library General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Library General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Library General Public License 00016 * along with this library; see the file COPYING.LIB. If not, write to 00017 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00018 * Boston, MA 02111-1307, USA. 00019 */ 00020 00021 #ifndef _KSSLCERTIFICATEHOME_H 00022 #define _KSSLCERTIFICATEHOME_H 00023 00024 class KSSLCertificate; 00025 class KSSLPKCS12; 00026 #include <qstring.h> 00027 #include <qstringlist.h> 00028 00029 #include <kdelibs_export.h> 00030 00031 class KIO_EXPORT KSSLCertificateHome { 00032 00033 public: 00034 00035 // AuthNone means there is no policy. AuthDont means _don't_ _send_!! 00036 enum KSSLAuthAction {AuthNone, AuthSend, AuthPrompt, AuthDont}; 00037 /* 00038 * These methods might dynamically allocate an object for you. Be sure 00039 * to delete them when you are done. 00040 */ 00041 static KSSLPKCS12* getCertificateByHost(QString host, QString password, KSSLAuthAction* aa); 00042 static KSSLPKCS12* getCertificateByName(QString name, QString password); 00043 static KSSLPKCS12* getCertificateByName(QString name); 00044 static QString getDefaultCertificateName(QString host, KSSLAuthAction *aa = NULL); 00045 static QString getDefaultCertificateName(KSSLAuthAction *aa = NULL); 00046 static KSSLPKCS12* getDefaultCertificate(QString password, KSSLAuthAction *aa = NULL); 00047 static KSSLPKCS12* getDefaultCertificate(KSSLAuthAction *aa = NULL); 00048 static bool hasCertificateByName(QString name); 00049 00050 00051 /* 00052 * These set the default certificate for hosts without a policy. 00053 */ 00054 static void setDefaultCertificate(QString name, bool send = true, bool prompt = false); 00055 static void setDefaultCertificate(KSSLPKCS12 *cert, bool send = true, bool prompt = false); 00056 00057 00058 /* 00059 * These set the default certificate for a host. 00060 */ 00061 static void setDefaultCertificate(QString name, QString host, bool send = true, bool prompt = false); 00062 static void setDefaultCertificate(KSSLPKCS12 *cert, QString host, bool send = true, bool prompt = false); 00063 00064 /* 00065 * These add a certificate to the repository. 00066 * Returns: true on success, false error 00067 */ 00068 static bool addCertificate(QString filename, QString password, bool storePass = false); 00069 static bool addCertificate(KSSLPKCS12 *cert, QString passToStore = QString::null); 00070 00071 /* 00072 * These deletes a certificate from the repository. 00073 * Returns: true on success, false error 00074 */ 00075 static bool deleteCertificate(const QString &filename, const QString &password); 00076 static bool deleteCertificate(KSSLPKCS12 *cert); 00077 static bool deleteCertificateByName(const QString &name); 00078 00079 /* 00080 * Returns the list of certificates available 00081 */ 00082 static QStringList getCertificateList(); 00083 00084 private: 00085 class KSSLCertificateHomePrivate; 00086 KSSLCertificateHomePrivate *d; 00087 }; 00088 00089 #endif 00090
KDE Logo
This file is part of the documentation for kio Library Version 3.4.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Apr 12 23:09:27 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003