Home | C-Bits Package Documentation | Project Page |
00001 /* ==================================================================== 00002 * The CBITS Software License, Version 1.0 00003 * 00004 * Copyright (c) 2002-2003 Bruce Lowery 00005 * All rights reserved 00006 * 00007 * Redistribution and use of this software, in source and binary forms, 00008 * with or without modification, are permitted provided that the above 00009 * copyright notice, this paragraph, and the following paragraph are 00010 * retained in each source code file. 00011 * 00012 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 00013 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00014 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00015 * DISCLAIMED. IN NO EVENT SHALL BRUCE LOWERY OR OTHER CONTRIBUTORS 00016 * TO THE CBITS LIBRARY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00017 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00018 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 00019 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00020 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00021 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 00022 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00023 * SUCH DAMAGE. 00024 * ==================================================================== 00025 */ 00026 #ifndef __CBITS_SSLPEER_H__ 00027 #define __CBITS_SSLPEER_H__ 00028 00029 // STD C++ 00030 #include <vector> 00031 00032 // CBITS 00033 #include <cbits/SSLSocket.h> 00034 #include <cbits/SSLServerSocket.h> 00035 00036 // OpenSSL 00037 00038 #ifdef BUILD_DLL 00039 #define EXPORT __declspec(dllexport) 00040 #else 00041 #define EXPORT 00042 #endif 00043 00044 00045 namespace cbits { 00046 00047 class SSLCert; 00048 00058 class EXPORT SSLPeer 00059 { 00060 00061 public: 00062 00066 const std::string getSubjectName() const; 00067 00068 typedef std::vector<const SSLCert*> SSLCertChain; 00069 typedef std::vector<const SSLCert*>::iterator SSLCertChainIter; 00070 00074 const SSLCertChain& getCertChain() const; 00075 00076 00077 private: 00078 friend class SSLSocket; 00079 friend class SSLServerSocket; 00080 00081 00085 SSLPeer( const SSLCert* cert ); 00086 00087 00091 ~SSLPeer(); 00092 00093 00100 void addCert( const SSLCert* cert ); 00101 00102 00106 SSLCertChain _cert_chain; 00107 00109 SSLPeer( const SSLPeer& ); 00110 SSLPeer& operator=( const SSLPeer& ); 00111 }; 00112 00113 }; 00114 00115 00116 #endif 00117 00118 /* 00119 * $Id: SSLPeer.h,v 1.4 2002/10/16 22:32:44 brulow Exp $ 00120 * 00121 * History: (Add nothing manually below) 00122 * ----------------------------------------------------------------------- 00123 * 00124 * $Log: SSLPeer.h,v $ 00125 * Revision 1.4 2002/10/16 22:32:44 brulow 00126 * Improve doc, misc 00127 * 00128 * Revision 1.3 2002/10/10 01:16:22 brulow 00129 * Improve documentation 00130 * 00131 * Revision 1.2 2002/09/27 22:04:16 brulow 00132 * Add history footer to all .h .cpp files 00133 * 00134 * 00135 */
|
|