org.mortbay.http
Class JsseListener

java.lang.Object
  extended by org.mortbay.util.ThreadPool
      extended by org.mortbay.util.ThreadedServer
          extended by org.mortbay.http.SocketListener
              extended by org.mortbay.http.JsseListener
All Implemented Interfaces:
java.io.Serializable, HttpListener, LifeCycle
Direct Known Subclasses:
IbmJsseListener, SunJsseListener

Deprecated. use SslListener

public abstract class JsseListener
extends SocketListener

JSSE Socket Listener. This specialization of HttpListener is an abstract listener that can be used as the basis for a specific JSSE listener. This is heavily based on the work from Court Demas, which in turn is based on the work from Forge Research.

Version:
$Id: JsseListener.java,v 1.20 2009/05/16 01:53:36 gregwilkins Exp $
Author:
Greg Wilkins (gregw@mortbay.com), Court Demas (court@kiwiconsulting.com), Forge Research Pty Ltd ACN 003 491 576, Jan Hlavaty
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.mortbay.util.ThreadPool
ThreadPool.PoolThread
 
Field Summary
static java.lang.String DEFAULT_KEYSTORE
          Deprecated. Default value for the keystore location path.
static java.lang.String DEFAULT_KEYSTORE_PROVIDER_CLASS
          Deprecated. Default value for keystore provider class.
static java.lang.String DEFAULT_KEYSTORE_PROVIDER_NAME
          Deprecated. Default value for keystore provider name.
static java.lang.String DEFAULT_KEYSTORE_TYPE
          Deprecated. Default keystore type
static java.lang.String KEYPASSWORD_PROPERTY
          Deprecated. String name of key password property.
static java.lang.String KEYSTORE_PROPERTY
          Deprecated. String name of keystore location path property.
static java.lang.String KEYSTORE_PROVIDER_CLASS_PROPERTY
          Deprecated. String name of keystore provider class property
static java.lang.String KEYSTORE_PROVIDER_NAME_PROPERTY
          Deprecated. String name of keystore provider name property
static java.lang.String KEYSTORE_TYPE_PROPERTY
          Deprecated. String name of keystore type property
static java.lang.String PASSWORD_PROPERTY
          Deprecated. String name of keystore password property.
 
Fields inherited from class org.mortbay.util.ThreadPool
__DAEMON, __PRIORITY
 
Fields inherited from interface org.mortbay.http.HttpListener
ATTRIBUTE
 
Constructor Summary
JsseListener()
          Deprecated. Constructor.
JsseListener(InetAddrPort p_address)
          Deprecated. Constructor.
 
Method Summary
protected  java.net.Socket accept(java.net.ServerSocket p_serverSocket)
          Deprecated.  
protected abstract  javax.net.ssl.SSLServerSocketFactory createFactory()
          Deprecated.  
protected  void customizeRequest(java.net.Socket socket, HttpRequest request)
          Deprecated. Allow the Listener a chance to customise the request.
 boolean getNeedClientAuth()
          Deprecated.  
 boolean isConfidential(HttpConnection connection)
          Deprecated. By default, we're confidential, given we speak SSL.
 boolean isIntegral(HttpConnection connection)
          Deprecated. By default, we're integral, given we speak SSL.
protected  java.net.ServerSocket newServerSocket(InetAddrPort p_address, int p_acceptQueueSize)
          Deprecated. New server socket.
 void setNeedClientAuth(boolean needClientAuth)
          Deprecated. Set the value of the needClientAuth property
 
Methods inherited from class org.mortbay.http.SocketListener
createConnection, customizeRequest, getBufferReserve, getBufferSize, getConfidentialPort, getConfidentialScheme, getDefaultScheme, getHttpHandler, getHttpServer, getIdentifyListener, getIntegralPort, getIntegralScheme, getLowResourcePersistTimeMs, getLowResources, handleConnection, isLowOnResources, isOutOfResources, persistConnection, setBufferReserve, setBufferSize, setConfidentialPort, setConfidentialScheme, setDefaultScheme, setHttpHandler, setHttpServer, setIdentifyListener, setIntegralPort, setIntegralScheme, setLowResourcePersistTimeMs, setLowResources, start, stop
 
Methods inherited from class org.mortbay.util.ThreadedServer
acceptSocket, acceptSocket, getAcceptorThreads, getAcceptQueueSize, getHost, getInetAddress, getInetAddrPort, getLingerTimeSecs, getMaxReadTimeMs, getPort, getServerSocket, getTcpNoDelay, handle, handleConnection, open, setAcceptorThreads, setAcceptQueueSize, setHost, setInetAddress, setInetAddrPort, setLingerTimeSecs, setMaxReadTimeMs, setPort, setTcpNoDelay, stopJob, toString
 
Methods inherited from class org.mortbay.util.ThreadPool
getIdleThreads, getMaxIdleTimeMs, getMaxThreads, getMinThreads, getName, getPoolName, getThreads, getThreadsPriority, isDaemon, isStarted, join, run, setDaemon, setMaxIdleTimeMs, setMaxStopTimeMs, setMaxThreads, setMinThreads, setName, setPoolName, setThreadsPriority, shrink
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mortbay.http.HttpListener
getHost, getPort, setHost, setPort
 
Methods inherited from interface org.mortbay.util.LifeCycle
isStarted
 

Field Detail

KEYSTORE_PROPERTY

public static final java.lang.String KEYSTORE_PROPERTY
Deprecated. 
String name of keystore location path property.

See Also:
Constant Field Values

KEYSTORE_TYPE_PROPERTY

public static final java.lang.String KEYSTORE_TYPE_PROPERTY
Deprecated. 
String name of keystore type property

See Also:
Constant Field Values

DEFAULT_KEYSTORE_TYPE

public static final java.lang.String DEFAULT_KEYSTORE_TYPE
Deprecated. 
Default keystore type


KEYSTORE_PROVIDER_NAME_PROPERTY

public static final java.lang.String KEYSTORE_PROVIDER_NAME_PROPERTY
Deprecated. 
String name of keystore provider name property

See Also:
Constant Field Values

KEYSTORE_PROVIDER_CLASS_PROPERTY

public static final java.lang.String KEYSTORE_PROVIDER_CLASS_PROPERTY
Deprecated. 
String name of keystore provider class property

See Also:
Constant Field Values

DEFAULT_KEYSTORE_PROVIDER_CLASS

public static final java.lang.String DEFAULT_KEYSTORE_PROVIDER_CLASS
Deprecated. 
Default value for keystore provider class. null = use default


DEFAULT_KEYSTORE

public static final java.lang.String DEFAULT_KEYSTORE
Deprecated. 
Default value for the keystore location path.


DEFAULT_KEYSTORE_PROVIDER_NAME

public static final java.lang.String DEFAULT_KEYSTORE_PROVIDER_NAME
Deprecated. 
Default value for keystore provider name. null = use default


PASSWORD_PROPERTY

public static final java.lang.String PASSWORD_PROPERTY
Deprecated. 
String name of keystore password property.

See Also:
Constant Field Values

KEYPASSWORD_PROPERTY

public static final java.lang.String KEYPASSWORD_PROPERTY
Deprecated. 
String name of key password property.

See Also:
Constant Field Values
Constructor Detail

JsseListener

public JsseListener()
Deprecated. 
Constructor.


JsseListener

public JsseListener(InetAddrPort p_address)
Deprecated. 
Constructor.

Parameters:
p_address -
Method Detail

setNeedClientAuth

public void setNeedClientAuth(boolean needClientAuth)
Deprecated. 
Set the value of the needClientAuth property

Parameters:
needClientAuth - true iff we require client certificate authentication.

getNeedClientAuth

public boolean getNeedClientAuth()
Deprecated. 

isIntegral

public boolean isIntegral(HttpConnection connection)
Deprecated. 
By default, we're integral, given we speak SSL. But, if we've been told about an integral port, and said port is not our port, then we're not. This allows separation of listeners providing INTEGRAL versus CONFIDENTIAL constraints, such as one SSL listener configured to require client certs providing CONFIDENTIAL, whereas another SSL listener not requiring client certs providing mere INTEGRAL constraints.

Specified by:
isIntegral in interface HttpListener
Overrides:
isIntegral in class SocketListener
Parameters:
connection - The connection to test.
Returns:
True of the connection checks the integrity of the data. For most implementations this is true for https connections.

isConfidential

public boolean isConfidential(HttpConnection connection)
Deprecated. 
By default, we're confidential, given we speak SSL. But, if we've been told about an confidential port, and said port is not our port, then we're not. This allows separation of listeners providing INTEGRAL versus CONFIDENTIAL constraints, such as one SSL listener configured to require client certs providing CONFIDENTIAL, whereas another SSL listener not requiring client certs providing mere INTEGRAL constraints.

Specified by:
isConfidential in interface HttpListener
Overrides:
isConfidential in class SocketListener
Parameters:
connection - The connection to test.
Returns:
True of the connection checks the integrity of the data. For most implementations this is true for https connections.

createFactory

protected abstract javax.net.ssl.SSLServerSocketFactory createFactory()
                                                               throws java.lang.Exception
Deprecated. 
Throws:
java.lang.Exception

newServerSocket

protected java.net.ServerSocket newServerSocket(InetAddrPort p_address,
                                                int p_acceptQueueSize)
                                         throws java.io.IOException
Deprecated. 
Description copied from class: ThreadedServer
New server socket. Creates a new servers socket. May be overriden by derived class to create specialist serversockets (eg SSL).

Overrides:
newServerSocket in class ThreadedServer
Parameters:
p_address -
p_acceptQueueSize -
Returns:
Throws:
java.io.IOException

accept

protected java.net.Socket accept(java.net.ServerSocket p_serverSocket)
                          throws java.io.IOException
Deprecated. 
Parameters:
p_serverSocket -
Returns:
Throws:
java.io.IOException

customizeRequest

protected void customizeRequest(java.net.Socket socket,
                                HttpRequest request)
Deprecated. 
Allow the Listener a chance to customise the request. before the server does its stuff.
This allows the required attributes to be set for SSL requests.
The requirements of the Servlet specs are:

Overrides:
customizeRequest in class SocketListener
Parameters:
socket - The Socket the request arrived on. This should be a javax.net.ssl.SSLSocket.
request - HttpRequest to be customised.


Copyright © 2004 Mortbay Consulting Pty. Ltd. All Rights Reserved.