decaf::net::ssl::SSLServerSocket Class Reference

Represents a server socket that is used to accept connections from clients using the Secure Sockets protocol or the Top Level Security protocol. More...

#include <src/main/decaf/net/ssl/SSLServerSocket.h>

Inheritance diagram for decaf::net::ssl::SSLServerSocket:
Inheritance graph
[legend]

Public Member Functions

virtual ~SSLServerSocket ()
virtual std::vector< std::string > getSupportedCipherSuites () const =0
 Gets a vector containing the names of all the cipher suites that are supported by this SSLServerSocket.
virtual std::vector< std::string > getSupportedProtocols () const =0
 Gets a vector containing the names of all the protocols that could be enabled for this SSLServerSocket instance.
virtual std::vector< std::string > getEnabledCipherSuites () const =0
 Returns a vector containing the names of all the currently enabled Cipher Suites for this SSLServerSocket.
virtual void setEnabledCipherSuites (const std::vector< std::string > &suites)=0
 Sets the Cipher Suites that are to be enabled on the SSLServerSocket connection.
virtual std::vector< std::string > getEnabledProtocols () const =0
 Returns a vector containing the names of all the currently enabled Protocols for this SSLServerSocket.
virtual void setEnabledProtocols (const std::vector< std::string > &protocols)=0
 Sets the Protocols that are to be enabled on the SSLServerSocket connection.
virtual bool getWantClientAuth () const =0
virtual void setWantClientAuth (bool value)=0
 Sets whether or not this Socket will request Client Authentication.
virtual bool getNeedClientAuth () const =0
virtual void setNeedClientAuth (bool value)=0
 Sets whether or not this Socket will require Client Authentication.

Protected Member Functions

 SSLServerSocket ()
 Creates a non-bound server socket.
 SSLServerSocket (int port)
 Creates a new ServerSocket bound to the specified port, if the value of port is 0, then any free port is chosen.
 SSLServerSocket (int port, int backlog)
 Creates a new ServerSocket bound to the specified port, if the value of port is 0, then any free port is chosen.
 SSLServerSocket (int port, int backlog, const decaf::net::InetAddress *address)
 Creates a new ServerSocket bound to the specified port, if the value of port is 0, then any free port is chosen.

Detailed Description

Represents a server socket that is used to accept connections from clients using the Secure Sockets protocol or the Top Level Security protocol.

The main function of this class is to create SSLSocket objects by accepting connections from client sockets over SSL.

Since:
1.0

Constructor & Destructor Documentation

decaf::net::ssl::SSLServerSocket::SSLServerSocket (  )  [protected]

Creates a non-bound server socket.

decaf::net::ssl::SSLServerSocket::SSLServerSocket ( int  port  )  [protected]

Creates a new ServerSocket bound to the specified port, if the value of port is 0, then any free port is chosen.

When this constructor is called the size of the backlog queue is set at 50, connections that arrive after the backlog has been reached are refused.

If a SocketImplFactory is registered then the createSocketImpl method on the factory will be called otherwise a default SocketImpl is created.

Parameters:
port The port to bind the ServerSocket to.
Exceptions:
IOException if there is an I/O error while performing this operation.
IllegalArgumentException if the port value is negative or greater than 65535.
decaf::net::ssl::SSLServerSocket::SSLServerSocket ( int  port,
int  backlog 
) [protected]

Creates a new ServerSocket bound to the specified port, if the value of port is 0, then any free port is chosen.

When this constructor is called the size of the backlog queue is set at backlog, connections that arrive after the backlog has been reached are refused. If backlog is zero or negative then the default backlog value of 50 is used.

If a SocketImplFactory is registered then the createSocketImpl method on the factory will be called otherwise a default SocketImpl is created.

Parameters:
port The port to bind the ServerSocket to.
backlog The the number of incoming connection attempts to queue before connections are refused.
Exceptions:
IOException if there is an I/O error while performing this operation.
IllegalArgumentException if the port value is negative or greater than 65535.
decaf::net::ssl::SSLServerSocket::SSLServerSocket ( int  port,
int  backlog,
const decaf::net::InetAddress address 
) [protected]

Creates a new ServerSocket bound to the specified port, if the value of port is 0, then any free port is chosen.

If the value of the ifAddress is empty or NULL then the ANY address is used.

When this constructor is called the size of the backlog queue is set at backlog, connections that arrive after the backlog has been reached are refused. If backlog is zero or negative then the default backlog value of 50 is used.

If a SocketImplFactory is registered then the createSocketImpl method on the factory will be called otherwise a default SocketImpl is created.

Parameters:
port The port to bind the ServerSocket to.
backlog The the number of incoming connection attempts to queue before connections are refused.
ifAddress The IP Address to bind to on the local machine.
Exceptions:
IOException if there is an I/O error while performing this operation.
IllegalArgumentException if the port value is negative or greater than 65535.
virtual decaf::net::ssl::SSLServerSocket::~SSLServerSocket (  )  [virtual]

Member Function Documentation

virtual std::vector<std::string> decaf::net::ssl::SSLServerSocket::getEnabledCipherSuites (  )  const [pure virtual]

Returns a vector containing the names of all the currently enabled Cipher Suites for this SSLServerSocket.

Returns:
vector of the names of all enabled Cipher Suites.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.

virtual std::vector<std::string> decaf::net::ssl::SSLServerSocket::getEnabledProtocols (  )  const [pure virtual]

Returns a vector containing the names of all the currently enabled Protocols for this SSLServerSocket.

Returns:
vector of the names of all enabled Protocols.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.

virtual bool decaf::net::ssl::SSLServerSocket::getNeedClientAuth (  )  const [pure virtual]
Returns:
true if the Socket requires client Authentication.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.

virtual std::vector<std::string> decaf::net::ssl::SSLServerSocket::getSupportedCipherSuites (  )  const [pure virtual]

Gets a vector containing the names of all the cipher suites that are supported by this SSLServerSocket.

Normally not all of these cipher suites will be enabled on the Socket.

Returns:
a vector containing the names of all the supported cipher suites.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.

virtual std::vector<std::string> decaf::net::ssl::SSLServerSocket::getSupportedProtocols (  )  const [pure virtual]

Gets a vector containing the names of all the protocols that could be enabled for this SSLServerSocket instance.

Returns:
a vector containing the names of all the supported protocols.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.

virtual bool decaf::net::ssl::SSLServerSocket::getWantClientAuth (  )  const [pure virtual]
Returns:
true if the Socket request client Authentication.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.

virtual void decaf::net::ssl::SSLServerSocket::setEnabledCipherSuites ( const std::vector< std::string > &  suites  )  [pure virtual]

Sets the Cipher Suites that are to be enabled on the SSLServerSocket connection.

Each of the named Cipher Suites must appear in the list of supported cipher suites for this connection or an exception will be thrown.

Parameters:
suites An Vector of names for all the Cipher Suites that are to be enabled.
Exceptions:
IllegalArgumentException if the vector is empty or one of the names is invalid.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.

virtual void decaf::net::ssl::SSLServerSocket::setEnabledProtocols ( const std::vector< std::string > &  protocols  )  [pure virtual]

Sets the Protocols that are to be enabled on the SSLServerSocket connection.

Each of the named Protocols must appear in the list of supported protocols suites for this connection or an exception will be thrown.

Parameters:
protocols An Vector of names for all the Protocols that are to be enabled.
Exceptions:
IllegalArgumentException if the vector is empty or one of the names is invalid.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.

virtual void decaf::net::ssl::SSLServerSocket::setNeedClientAuth ( bool  value  )  [pure virtual]

Sets whether or not this Socket will require Client Authentication.

If set to true the Socket (when used in server mode) will require that the client authenticate itself, if the client doesn't send authentication the socket will not allow negotiation to continue.

Parameters:
value Whether the server socket should require client authentication.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.

virtual void decaf::net::ssl::SSLServerSocket::setWantClientAuth ( bool  value  )  [pure virtual]

Sets whether or not this Socket will request Client Authentication.

If set to true the Socket (when used in server mode) will request that the client authenticate itself, if the client doesn't send authentication the socket will still allow negotiation to continue.

Parameters:
value Whether the server socket should request client authentication.

Implemented in decaf::internal::net::ssl::openssl::OpenSSLServerSocket.


The documentation for this class was generated from the following file:

Generated on 1 Dec 2014 for activemq-cpp-3.8.2 by  doxygen 1.6.1