18 #ifndef _DECAF_INTERNAL_NET_SSL_OPENSSL_OPENSSLSOCKET_H_
19 #define _DECAF_INTERNAL_NET_SSL_OPENSSL_OPENSSLSOCKET_H_
34 class OpenSSLParameters;
84 virtual void connect(
const std::string& host,
int port,
int timeout );
104 virtual void shutdownInput();
109 virtual void shutdownOutput();
114 virtual void setOOBInline(
bool value );
119 virtual void sendUrgentData(
int data );
126 virtual std::vector<std::string> getSupportedCipherSuites()
const;
131 virtual std::vector<std::string> getSupportedProtocols()
const;
136 virtual std::vector<std::string> getEnabledCipherSuites()
const;
141 virtual void setEnabledCipherSuites(
const std::vector<std::string>& suites );
146 virtual std::vector<std::string> getEnabledProtocols()
const;
151 virtual void setEnabledProtocols(
const std::vector<std::string>& protocols );
156 virtual void startHandshake();
161 virtual void setUseClientMode(
bool value );
166 virtual bool getUseClientMode()
const;
171 virtual void setNeedClientAuth(
bool value );
176 virtual bool getNeedClientAuth()
const;
181 virtual void setWantClientAuth(
bool value );
186 virtual bool getWantClientAuth()
const;
208 int read(
unsigned char* buffer,
int size,
int offset,
int length );
226 void write(
const unsigned char* buffer,
int size,
int offset,
int length );
241 void verifyServerCert(
const std::string& serverName );