• Main Page
  • Classes
  • Files
  • File List

Swiften/TLS/Certificate.h

00001 /*
00002  * Copyright (c) 2010 Remko Tronçon
00003  * Licensed under the GNU General Public License v3.
00004  * See Documentation/Licenses/GPLv3.txt for more information.
00005  */
00006 
00007 #pragma once
00008 
00009 #include <boost/shared_ptr.hpp>
00010 
00011 #include <string>
00012 #include <Swiften/Base/API.h>
00013 #include <Swiften/Base/ByteArray.h>
00014 
00015 namespace Swift {
00016   class SWIFTEN_API Certificate {
00017     public:
00018       typedef boost::shared_ptr<Certificate> ref;
00019 
00020       virtual ~Certificate();
00021 
00026       virtual std::string getSubjectName() const = 0;
00027 
00028       virtual std::vector<std::string> getCommonNames() const = 0;
00029       virtual std::vector<std::string> getSRVNames() const = 0;
00030       virtual std::vector<std::string> getDNSNames() const = 0;
00031       virtual std::vector<std::string> getXMPPAddresses() const = 0;
00032 
00033       virtual ByteArray toDER() const = 0;
00034 
00035       virtual std::string getSHA1Fingerprint() const;
00036 
00037     protected:
00038       static const char* ID_ON_XMPPADDR_OID;
00039       static const char* ID_ON_DNSSRV_OID;
00040 
00041   };
00042 }

Generated on Fri Oct 12 2012 21:00:19 for Swiften by  doxygen 1.7.1