Factory class interface for a SocketFactory that can create SSLSocket objects. More...
#include <src/main/decaf/net/ssl/SSLSocketFactory.h>

Public Member Functions | |
| virtual | ~SSLSocketFactory () |
| virtual std::vector< std::string > | getDefaultCipherSuites ()=0 |
| Returns the list of cipher suites which are enabled by default. | |
| virtual std::vector< std::string > | getSupportedCipherSuites ()=0 |
| Returns the names of the cipher suites which could be enabled for use on an SSL connection. | |
| virtual Socket * | createSocket (Socket *socket, std::string host, int port, bool autoClose)=0 |
| Returns a socket layered over an existing socket connected to the named host, at the given port. | |
Static Public Member Functions | |
| static SocketFactory * | getDefault () |
| Returns the current default SSL SocketFactory, the factory is returned as a pointer however the caller does not own this pointer and should not delete it. | |
Protected Member Functions | |
| SSLSocketFactory () | |
Factory class interface for a SocketFactory that can create SSLSocket objects.
| decaf::net::ssl::SSLSocketFactory::SSLSocketFactory | ( | ) | [protected] |
| virtual decaf::net::ssl::SSLSocketFactory::~SSLSocketFactory | ( | ) | [virtual] |
| virtual Socket* decaf::net::ssl::SSLSocketFactory::createSocket | ( | Socket * | socket, | |
| std::string | host, | |||
| int | port, | |||
| bool | autoClose | |||
| ) | [pure virtual] |
Returns a socket layered over an existing socket connected to the named host, at the given port.
This constructor can be used when tunneling SSL through a proxy or when negotiating the use of SSL over an existing socket. The host and port refer to the logical peer destination. This socket is configured using the socket options established for this factory.
| socket | The existing socket to layer over. | |
| host | The server host the original Socket is connected to. | |
| port | The server port the original Socket is connected to. | |
| autoClose | Should the layered over Socket be closed when the topmost socket is closed. |
| IOException | if an I/O exception occurs while performing this operation. | |
| UnknownHostException | if the host is unknown. |
Implemented in decaf::internal::net::ssl::DefaultSSLSocketFactory, and decaf::internal::net::ssl::openssl::OpenSSLSocketFactory.
| static SocketFactory* decaf::net::ssl::SSLSocketFactory::getDefault | ( | ) | [static] |
Returns the current default SSL SocketFactory, the factory is returned as a pointer however the caller does not own this pointer and should not delete it.
This method returns SSLContext::getDefault()->getSocketFactory(). If that call fails, a non-functional factory is returned.
Reimplemented from decaf::net::SocketFactory.
| virtual std::vector<std::string> decaf::net::ssl::SSLSocketFactory::getDefaultCipherSuites | ( | ) | [pure virtual] |
Returns the list of cipher suites which are enabled by default.
Unless a different list is enabled, handshaking on an SSL connection will use one of these cipher suites. The minimum quality of service for these defaults requires confidentiality protection and server authentication (that is, no anonymous cipher suites).
Implemented in decaf::internal::net::ssl::DefaultSSLSocketFactory, and decaf::internal::net::ssl::openssl::OpenSSLSocketFactory.
| virtual std::vector<std::string> decaf::net::ssl::SSLSocketFactory::getSupportedCipherSuites | ( | ) | [pure virtual] |
Returns the names of the cipher suites which could be enabled for use on an SSL connection.
Normally, only a subset of these will actually be enabled by default, since this list may include cipher suites which do not meet quality of service requirements for those defaults. Such cipher suites are useful in specialized applications.
Implemented in decaf::internal::net::ssl::DefaultSSLSocketFactory, and decaf::internal::net::ssl::openssl::OpenSSLSocketFactory.
1.6.1