org.mortbay.jetty.security
Class SslSelectChannelConnector

java.lang.Object
  extended by org.mortbay.component.AbstractLifeCycle
      extended by org.mortbay.jetty.AbstractBuffers
          extended by org.mortbay.jetty.AbstractConnector
              extended by org.mortbay.jetty.nio.AbstractNIOConnector
                  extended by org.mortbay.jetty.nio.SelectChannelConnector
                      extended by org.mortbay.jetty.security.SslSelectChannelConnector
All Implemented Interfaces:
LifeCycle, Buffers, Connector, NIOConnector

public class SslSelectChannelConnector
extends SelectChannelConnector

SslSelectChannelConnector.

Author:
Nik Gonzalez , Greg Wilkins

Nested Class Summary
 
Nested classes/interfaces inherited from class org.mortbay.jetty.nio.SelectChannelConnector
SelectChannelConnector.ConnectorEndPoint, SelectChannelConnector.RetryContinuation
 
Field Summary
static String DEFAULT_KEYSTORE
          Default value for the keystore location path.
static String KEYPASSWORD_PROPERTY
          String name of key password property.
static String PASSWORD_PROPERTY
          String name of keystore password property.
 
Fields inherited from class org.mortbay.jetty.AbstractConnector
_lowResourceMaxIdleTime, _maxIdleTime, _soLingerTime
 
Constructor Summary
SslSelectChannelConnector()
           
 
Method Summary
protected  SSLEngine createSSLEngine()
           
 void customize(EndPoint endpoint, Request request)
          Allow the Listener a chance to customise the request.
protected  void doStart()
           
 String getAlgorithm()
           
 String[] getCipherSuites()
           
 String getKeystore()
           
 String getKeystoreType()
           
 boolean getNeedClientAuth()
           
 String getProtocol()
           
 String getProvider()
           
 String getSecureRandomAlgorithm()
           
 String getSslKeyManagerFactoryAlgorithm()
           
 String getSslTrustManagerFactoryAlgorithm()
           
 String getTruststore()
           
 String getTruststoreType()
           
static void main(String[] args)
           
protected  SelectChannelEndPoint newEndPoint(SocketChannel channel, SelectorManager.SelectSet selectSet, SelectionKey key)
           
 void setAlgorithm(String algorithm)
           
 void setCipherSuites(String[] cipherSuites)
           
 void setKeyPassword(String password)
           
 void setKeystore(String keystore)
           
 void setKeystoreType(String keystoreType)
           
 void setNeedClientAuth(boolean needClientAuth)
          Set the value of the needClientAuth property
 void setPassword(String password)
           
 void setProtocol(String protocol)
           
 void setProvider(String _provider)
           
 void setSecureRandomAlgorithm(String algorithm)
           
 void setSslKeyManagerFactoryAlgorithm(String algorithm)
           
 void setSslTrustManagerFactoryAlgorithm(String algorithm)
           
 void setTrustPassword(String password)
           
 void setTruststore(String truststore)
           
 void setTruststoreType(String truststoreType)
           
 
Methods inherited from class org.mortbay.jetty.nio.SelectChannelConnector
accept, close, doStop, getConnection, getDelaySelectKeyUpdate, getLocalPort, newContinuation, open, persist, setDelaySelectKeyUpdate, setMaxIdleTime, stopAccept
 
Methods inherited from class org.mortbay.jetty.nio.AbstractNIOConnector
getUseDirectBuffers, newBuffer, setUseDirectBuffers
 
Methods inherited from class org.mortbay.jetty.AbstractConnector
configure, connectionClosed, connectionOpened, getAcceptors, getAcceptQueueSize, getConfidentialPort, getConfidentialScheme, getConnections, getConnectionsDurationAve, getConnectionsDurationMax, getConnectionsDurationMin, getConnectionsDurationTotal, getConnectionsOpen, getConnectionsOpenMax, getConnectionsOpenMin, getConnectionsRequestsAve, getConnectionsRequestsMax, getConnectionsRequestsMin, getHost, getIntegralPort, getIntegralScheme, getLowResourceMaxIdleTime, getMaxIdleTime, getName, getPort, getRequests, getResolveNames, getServer, getSoLingerTime, getStatsOn, getStatsOnMs, getThreadPool, isConfidential, isIntegral, join, setAcceptors, setAcceptQueueSize, setConfidentialPort, setConfidentialScheme, setHost, setIntegralPort, setIntegralScheme, setLowResourceMaxIdleTime, setName, setPort, setResolveNames, setServer, setSoLingerTime, setStatsOn, setThreadPool, statsReset, toString
 
Methods inherited from class org.mortbay.jetty.AbstractBuffers
getBuffer, getHeaderBufferSize, getRequestBufferSize, getResponseBufferSize, returnBuffer, setHeaderBufferSize, setRequestBufferSize, setResponseBufferSize
 
Methods inherited from class org.mortbay.component.AbstractLifeCycle
isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mortbay.jetty.Connector
getHeaderBufferSize, getRequestBufferSize, getResponseBufferSize, setHeaderBufferSize, setRequestBufferSize, setResponseBufferSize
 
Methods inherited from interface org.mortbay.component.LifeCycle
isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop
 
Methods inherited from interface org.mortbay.io.Buffers
getBuffer, returnBuffer
 

Field Detail

DEFAULT_KEYSTORE

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


KEYPASSWORD_PROPERTY

public static final String KEYPASSWORD_PROPERTY
String name of key password property.

See Also:
Constant Field Values

PASSWORD_PROPERTY

public static final String PASSWORD_PROPERTY
String name of keystore password property.

See Also:
Constant Field Values
Constructor Detail

SslSelectChannelConnector

public SslSelectChannelConnector()
Method Detail

customize

public void customize(EndPoint endpoint,
                      Request request)
               throws IOException
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:

Specified by:
customize in interface Connector
Overrides:
customize in class SelectChannelConnector
Parameters:
endpoint - The Socket the request arrived on. This should be a SocketEndPoint wrapping a SSLSocket.
request - HttpRequest to be customised.
Throws:
IOException

getCipherSuites

public String[] getCipherSuites()

setCipherSuites

public void setCipherSuites(String[] cipherSuites)

setPassword

public void setPassword(String password)

setTrustPassword

public void setTrustPassword(String password)

setKeyPassword

public void setKeyPassword(String password)

getAlgorithm

public String getAlgorithm()

setAlgorithm

public void setAlgorithm(String algorithm)

getProtocol

public String getProtocol()

setProtocol

public void setProtocol(String protocol)

setKeystore

public void setKeystore(String keystore)

getKeystore

public String getKeystore()

getKeystoreType

public String getKeystoreType()

getNeedClientAuth

public boolean getNeedClientAuth()

setNeedClientAuth

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

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

setKeystoreType

public void setKeystoreType(String keystoreType)

getProvider

public String getProvider()

getSecureRandomAlgorithm

public String getSecureRandomAlgorithm()

getSslKeyManagerFactoryAlgorithm

public String getSslKeyManagerFactoryAlgorithm()

getSslTrustManagerFactoryAlgorithm

public String getSslTrustManagerFactoryAlgorithm()

getTruststore

public String getTruststore()

getTruststoreType

public String getTruststoreType()

setProvider

public void setProvider(String _provider)

setSecureRandomAlgorithm

public void setSecureRandomAlgorithm(String algorithm)

setSslKeyManagerFactoryAlgorithm

public void setSslKeyManagerFactoryAlgorithm(String algorithm)

setSslTrustManagerFactoryAlgorithm

public void setSslTrustManagerFactoryAlgorithm(String algorithm)

setTruststore

public void setTruststore(String truststore)

setTruststoreType

public void setTruststoreType(String truststoreType)

newEndPoint

protected SelectChannelEndPoint newEndPoint(SocketChannel channel,
                                            SelectorManager.SelectSet selectSet,
                                            SelectionKey key)
                                     throws IOException
Overrides:
newEndPoint in class SelectChannelConnector
Throws:
IOException

createSSLEngine

protected SSLEngine createSSLEngine()
                             throws IOException
Throws:
IOException

doStart

protected void doStart()
                throws Exception
Overrides:
doStart in class SelectChannelConnector
Throws:
Exception

main

public static void main(String[] args)
                 throws Exception
Throws:
Exception


Copyright © 2007 Mort Bay Consulting. All Rights Reserved.