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

# ksslcertificatehome.h

    00001 /* This file is part of the KDE project
    00002  *
    00003  * Copyright (C) 2000 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 // WARNING: THIS CODE IS INCOMPLETE AND MAY CHANGE WITHOUT NOTICE
    00022
    00023 #ifndef _KSSLCERTIFICATEHOME_H
    00024 #define _KSSLCERTIFICATEHOME_H
    00025
    00026 class KSSLCertificate;
    00027 class KSSLPKCS12;
    00028 #include <qstring.h>
    00029 #include <qstringlist.h>
    00030
    00031
    00032 class KSSLCertificateHome {
    00033
    00034 public:
    00035
    00036   // AuthNone means there is no policy.  AuthDont means _don't_ _send_!!
    00037   enum KSSLAuthAction {AuthNone, AuthSend, AuthPrompt, AuthDont};
    00038   /*
    00039    *  These methods might dynamically allocate an object for you.  Be sure to
    00040    *  delete them when you are done.
    00041    */
    00042   static KSSLPKCS12* getCertificateByHost(QString host, QString password, KSSLAuthAction* aa);
    00043   static KSSLPKCS12* getCertificateByName(QString name, QString password);
    00044   static KSSLPKCS12* getCertificateByName(QString name);
    00045   static QString getDefaultCertificateName(QString host, KSSLAuthAction *aa = NULL);
    00046   static QString getDefaultCertificateName(KSSLAuthAction *aa = NULL);
    00047   static KSSLPKCS12* getDefaultCertificate(QString password, KSSLAuthAction *aa = NULL);
    00048   static KSSLPKCS12* getDefaultCertificate(KSSLAuthAction *aa = NULL);
    00049   static bool hasCertificateByName(QString name);
    00050
    00051
    00052   /*
    00053    *   These set the default certificate for hosts without a policy.
    00054    */
    00055   static void setDefaultCertificate(QString name, bool send = true, bool prompt = false);
    00056   static void setDefaultCertificate(KSSLPKCS12 *cert, bool send = true, bool prompt = false);
    00057
    00058
    00059   /*
    00060    *   These set the default certificate for a host.
    00061    */
    00062   static void setDefaultCertificate(QString name, QString host, bool send = true, bool prompt = false);
    00063   static void setDefaultCertificate(KSSLPKCS12 *cert, QString host, bool send = true, bool prompt = false);
    00064
    00065   /*
    00066    *   These add a certificate to the repository.
    00067    *   Returns: true on success, false error
    00068    */
    00069   static bool addCertificate(QString filename, QString password, bool storePass = false);
    00070   static void addCertificate(KSSLPKCS12 *cert, QString passToStore = "");
    00071
    00072   /*
    00073    *   Returns the list of certificates available
    00074    */
    00075   static QStringList getCertificateList();
    00076
    00077
    00078 private:
    00079
    00080   class KSSLCertificateHomePrivate;
    00081   KSSLCertificateHomePrivate *d;
    00082
    00083 protected:
    00084
    00085 };
    00086
    00087 #endif
    00088

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