00001
00008 #ifndef __SSLSOCKET_H_
00009 #define __SSLSOCKET_H_
00010
00011 #include <string>
00012 #include <ISocket.h>
00013 #include<openssl/ssl.h>
00014
00015
00016 class SSLSocket
00017 {
00018 public:
00019 SSLSocket(ISocket &sock, SSL_CTX &sslContext);
00020 ~SSLSocket();
00021
00022
00023 const SSLSocket& operator<<(string &mesg);
00024 const SSLSocket& operator>>(string &mesg);
00025 bool connect();
00026 bool accept();
00027
00028
00029 private:
00030 int socketFD;
00031 SSL_CTX * context;
00032 SSL * ssl;
00033 bool valid;
00034
00035 };
00036
00037 #endif