## org.apache.coyote.tomcat5
Class CoyoteServerSocketFactory

    java.lang.Object
      org.apache.coyote.tomcat5.CoyoteServerSocketFactory

All Implemented Interfaces:
  ServerSocketFactory

public class CoyoteServerSocketFactory
extends java.lang.Object
implements ServerSocketFactory

This socket factory holds secure socket factory parameters. Besides the usual configuration mechanism based on setting JavaBeans properties, this component may also be configured by passing a series of attributes set with calls to `setAttribute()`. The following attribute names are recognized, with default values in square brackets:

- algorithm - Certificate encoding algorithm to use. [SunX509]
- clientAuth - Require client authentication if set to `true`. [false]
- keystoreFile - Pathname to the Key Store file to be loaded. This must be an absolute path, or a relative path that is resolved against the "catalina.base" system property. ["./keystore" in the user home directory]
- keystorePass - Password for the Key Store file to be loaded. ["changeit"]
- keystoreType - Type of the Key Store file to be loaded. ["JKS"]
- protocol - SSL protocol to use. [TLS]

Author:
  Harish Prabandham, Costin Manolache, Craig McClanahan

Constructor Summary
`CoyoteServerSocketFactory()`

Method Summary
`java.net.ServerSocket` `createSocket(int port)` Returns a server socket which uses all network interfaces on the host, and is bound to a the specified port.
`java.net.ServerSocket` `createSocket(int port, int backlog)` Returns a server socket which uses all network interfaces on the host, is bound to a the specified port, and uses the specified connection backlog.
`java.net.ServerSocket` `createSocket(int port, int backlog, java.net.InetAddress ifAddress)` Returns a server socket which uses only the specified network interface on the local host, is bound to a the specified port, and uses the specified connection backlog.
`java.lang.String` `getAlgorithm()` Gets the certificate encoding algorithm to be used.
`java.lang.String` `getCiphers()` Gets the list of SSL cipher suites that are to be enabled
`java.lang.String` `getClientAuth()` Provides information about whether client authentication is enforced.
`java.lang.String` `getKeyAlias()` Gets the alias name of the keypair and supporting certificate chain used by the server to authenticate itself to SSL clients.
`java.lang.String` `getKeystoreFile()` Gets the pathname to the keystore file.
`java.lang.String` `getKeystorePass()` Gets the keystore password.
`java.lang.String` `getKeystoreType()` Gets the keystore type.
`java.lang.String` `getProtocol()` Gets the SSL protocol variant to be used.
`java.lang.String` `getProtocols()` Gets the SSL protocol variants to be enabled.
`java.lang.String` `getRandomFile()` Gets the pathname to the random file.
`java.lang.String` `getRootFile()` Gets the pathname to the root list.
`java.lang.String` `getSSLImplementation()` Gets the name of the SSL implementation to be used.
`void` `setAlgorithm(java.lang.String algorithm)` Sets the certificate encoding algorithm to be used.
`void` `setCiphers(java.lang.String ciphers)` Sets the SSL cipher suites that are to be enabled.
`void` `setClientAuth(java.lang.String clientAuth)` Sets the requirement of client authentication.
`void` `setKeyAlias(java.lang.String alias)` Sets the alias name of the keypair and supporting certificate chain used by the server to authenticate itself to SSL clients.
`void` `setKeystoreFile(java.lang.String keystoreFile)` Sets the pathname to the keystore file.
`void` `setKeystorePass(java.lang.String keystorePass)` Sets the keystore password.
`void` `setKeystoreType(java.lang.String keystoreType)` Sets the keystore type.
`void` `setProtocol(java.lang.String protocol)` Sets the SSL protocol variant to be used.
`void` `setProtocols(java.lang.String protocols)` Sets the SSL protocol variants to be enabled.
`void` `setRandomFile(java.lang.String randomFile)` Sets the pathname to the random file.
`void` `setRootFile(java.lang.String rootFile)` Sets the pathname to the root list.
`void` `setSSLImplementation(java.lang.String sslImplementation)` Sets the name of the SSL implementation to be used.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CoyoteServerSocketFactory

    public CoyoteServerSocketFactory()

Method Detail

### getAlgorithm

    public java.lang.String getAlgorithm()

  Gets the certificate encoding algorithm to be used.

  Returns:
    Certificate encoding algorithm

### setAlgorithm

    public void setAlgorithm(java.lang.String algorithm)

  Sets the certificate encoding algorithm to be used.

  Parameters:
    `algorithm` - Certificate encoding algorithm

### getClientAuth

    public java.lang.String getClientAuth()

  Provides information about whether client authentication is enforced.

  Returns:
    `true` if client authentication is enforced, `want` if client authentication is desired, `false` otherwise

### setClientAuth

    public void setClientAuth(java.lang.String clientAuth)

  Sets the requirement of client authentication.

  Parameters:
    `clientAuth` - `true` if client authentication is enforced, `want` if client authentication is desired, `false` otherwise

### getKeystoreFile

    public java.lang.String getKeystoreFile()

  Gets the pathname to the keystore file.

  Returns:
    Pathname to the keystore file

### setKeystoreFile

    public void setKeystoreFile(java.lang.String keystoreFile)

  Sets the pathname to the keystore file.

  Parameters:
    `keystoreFile` - Pathname to the keystore file

### getRandomFile

    public java.lang.String getRandomFile()

  Gets the pathname to the random file.

  Returns:
    Pathname to the random file

### setRandomFile

    public void setRandomFile(java.lang.String randomFile)

  Sets the pathname to the random file.

  Parameters:
    `randomFile` - Pathname to the random file

### getRootFile

    public java.lang.String getRootFile()

  Gets the pathname to the root list.

  Returns:
    Pathname to the root list

### setRootFile

    public void setRootFile(java.lang.String rootFile)

  Sets the pathname to the root list.

  Parameters:
    `rootFile` - Pathname to the root list

### getKeystorePass

    public java.lang.String getKeystorePass()

  Gets the keystore password.

  Returns:
    Keystore password

### setKeystorePass

    public void setKeystorePass(java.lang.String keystorePass)

  Sets the keystore password.

  Parameters:
    `keystorePass` - Keystore password

### getKeystoreType

    public java.lang.String getKeystoreType()

  Gets the keystore type.

  Returns:
    Keystore type

### setKeystoreType

    public void setKeystoreType(java.lang.String keystoreType)

  Sets the keystore type.

  Parameters:
    `keystoreType` - Keystore type

### getProtocol

    public java.lang.String getProtocol()

  Gets the SSL protocol variant to be used.

  Returns:
    SSL protocol variant

### setProtocol

    public void setProtocol(java.lang.String protocol)

  Sets the SSL protocol variant to be used.

  Parameters:
    `protocol` - SSL protocol variant

### getProtocols

    public java.lang.String getProtocols()

  Gets the SSL protocol variants to be enabled.

  Returns:
    Comma-separated list of SSL protocol variants

### setProtocols

    public void setProtocols(java.lang.String protocols)

  Sets the SSL protocol variants to be enabled.

  Parameters:
    `protocols` - Comma-separated list of SSL protocol variants

### getSSLImplementation

    public java.lang.String getSSLImplementation()

  Gets the name of the SSL implementation to be used.

  Returns:
    SSL implementation name

### setSSLImplementation

    public void setSSLImplementation(java.lang.String sslImplementation)

  Sets the name of the SSL implementation to be used.

  Parameters:
    `sslImplementation` - SSL implementation name

### getKeyAlias

    public java.lang.String getKeyAlias()

  Gets the alias name of the keypair and supporting certificate chain used by the server to authenticate itself to SSL clients.

  Returns:
    The alias name of the keypair and supporting certificate chain

### setKeyAlias

    public void setKeyAlias(java.lang.String alias)

  Sets the alias name of the keypair and supporting certificate chain used by the server to authenticate itself to SSL clients.

  Parameters:
    `alias` - The alias name of the keypair and supporting certificate chain

### getCiphers

    public java.lang.String getCiphers()

  Gets the list of SSL cipher suites that are to be enabled

  Returns:
    Comma-separated list of SSL cipher suites, or null if all cipher suites supported by the underlying SSL implementation are being enabled

### setCiphers

    public void setCiphers(java.lang.String ciphers)

  Sets the SSL cipher suites that are to be enabled. Only those SSL cipher suites that are actually supported by the underlying SSL implementation will be enabled.

  Parameters:
    `ciphers` - Comma-separated list of SSL cipher suites

### createSocket

    public java.net.ServerSocket createSocket(int port)

  Description copied from interface: `ServerSocketFactory`
  Returns a server socket which uses all network interfaces on the host, and is bound to a the specified port. The socket is configured with the socket options (such as accept timeout) given to this factory.

  Specified by:
    `createSocket` in interface `ServerSocketFactory`
  Parameters:
    `port` - the port to listen to

### createSocket

    public java.net.ServerSocket createSocket(int port,
                                              int backlog)

  Description copied from interface: `ServerSocketFactory`
  Returns a server socket which uses all network interfaces on the host, is bound to a the specified port, and uses the specified connection backlog. The socket is configured with the socket options (such as accept timeout) given to this factory.

  Specified by:
    `createSocket` in interface `ServerSocketFactory`
  Parameters:
    `port` - the port to listen to
    `backlog` - how many connections are queued

### createSocket

    public java.net.ServerSocket createSocket(int port,
                                              int backlog,
                                              java.net.InetAddress ifAddress)

  Description copied from interface: `ServerSocketFactory`
  Returns a server socket which uses only the specified network interface on the local host, is bound to a the specified port, and uses the specified connection backlog. The socket is configured with the socket options (such as accept timeout) given to this factory.

  Specified by:
    `createSocket` in interface `ServerSocketFactory`
  Parameters:
    `port` - the port to listen to
    `backlog` - how many connections are queued
    `ifAddress` - the network interface address to use

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.