Package org.jivesoftware.openfire.net
Class TLSStreamHandler
- java.lang.Object
-
- org.jivesoftware.openfire.net.TLSStreamHandler
-
public class TLSStreamHandler extends Object
TLSStreamHandler is responsible for securing plain connections by negotiating TLS. By creating a new instance of this class the plain connection will be encrypted.- Author:
- Hao Chen
-
-
Constructor Summary
Constructors Constructor Description TLSStreamHandler(Socket socket, ConnectionConfiguration configuration, boolean clientMode)Creates a new TLSStreamHandler and encrypt the plain socket connection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the channels that will end up closing the input and output streams of the connection.InputStreamgetInputStream()OutputStreamgetOutputStream()SSLSessiongetSSLSession()Returns the SSLSession in use.voidstart()
-
-
-
Constructor Detail
-
TLSStreamHandler
public TLSStreamHandler(Socket socket, ConnectionConfiguration configuration, boolean clientMode) throws IOException
Creates a new TLSStreamHandler and encrypt the plain socket connection. When connecting to a remote server thenclientModewill betrueandremoteServeris the server name of the remote server. OtherwiseclientModewill befalseandremoteServernull.- Parameters:
socket- the plain socket connection to encryptconfiguration- the configuration for the connectionclientMode- boolean indicating if this entity is a client or a server.- Throws:
IOException- if an exception occurs
-
-
Method Detail
-
getInputStream
public InputStream getInputStream()
-
getOutputStream
public OutputStream getOutputStream()
-
start
public void start() throws IOException- Throws:
IOException
-
close
public void close() throws IOExceptionCloses the channels that will end up closing the input and output streams of the connection. The channels implement the InterruptibleChannel interface so any other thread that was blocked in an I/O operation will be interrupted and will get an exception.- Throws:
IOException- if an I/O error occurs.
-
getSSLSession
public SSLSession getSSLSession()
Returns the SSLSession in use. The session specifies a particular cipher suite which is being actively used by all connections in that session, as well as the identities of the session's client and server.- Returns:
- the SSLSession in use.
-
-