Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.net.ssl
Class SSLContextSpi

    java.lang.Object
      javax.net.ssl.SSLContextSpi

    public abstract class SSLContextSpi

extends Object

This class defines the Service Provider Interface (SPI) for the `SSLContext` class.

All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply the implementation of a particular SSL context.

Since:
  1.4
See Also:
  `SSLContext`

Constructor Summary
`SSLContextSpi()`

Method Summary
`protected abstract SSLEngine` | `engineCreateSSLEngine()` Creates a new `SSLEngine` using this context.
`protected abstract SSLEngine` | `engineCreateSSLEngine(String host, int port)` Creates a `SSLEngine` using this context.
`protected abstract SSLSessionContext` | `engineGetClientSessionContext()` Returns a client `SSLSessionContext` object for this context.
`protected abstract SSLSessionContext` | `engineGetServerSessionContext()` Returns a server `SSLSessionContext` object for this context.
`protected abstract SSLServerSocketFactory` | `engineGetServerSocketFactory()` Returns a `ServerSocketFactory` object for this context.
`protected abstract SSLSocketFactory` | `engineGetSocketFactory()` Returns a `SocketFactory` object for this context.
`protected abstract void` | `engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr)` Initializes this context.

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

Constructor Detail

### SSLContextSpi

    public SSLContextSpi()

Method Detail

### engineInit

    protected abstract void engineInit(KeyManager[] km,
                                       TrustManager[] tm,
                                       SecureRandom sr)
                                throws KeyManagementException

  Initializes this context.

  Parameters:
    `km` - the sources of authentication keys
    `tm` - the sources of peer authentication trust decisions
    `sr` - the source of randomness
  Throws:
    `KeyManagementException` - if this operation fails
  See Also:
    `SSLContext.init(KeyManager [], TrustManager [], SecureRandom)`

### engineGetSocketFactory

    protected abstract SSLSocketFactory engineGetSocketFactory()

  Returns a `SocketFactory` object for this context.

  Returns:
    the `SocketFactory` object
  See Also:
    `SSLContext.getSocketFactory()`

### engineGetServerSocketFactory

    protected abstract SSLServerSocketFactory engineGetServerSocketFactory()

  Returns a `ServerSocketFactory` object for this context.

  Returns:
    the `ServerSocketFactory` object
  See Also:
    `SSLContext.getServerSocketFactory()`

### engineCreateSSLEngine

    protected abstract SSLEngine engineCreateSSLEngine()

  Creates a new `SSLEngine` using this context.

  Applications using this factory method are providing no hints for an internal session reuse strategy. If hints are desired, `engineCreateSSLEngine(String, int)` should be used instead.

  Some cipher suites (such as Kerberos) require remote hostname information, in which case this factory method should not be used.

  Returns:
    the `SSLEngine` Object
  Since:
    1.5
  See Also:
    `SSLContext.createSSLEngine()`

### engineCreateSSLEngine

    protected abstract SSLEngine engineCreateSSLEngine(String host,
                                                       int port)

  Creates a `SSLEngine` using this context.

  Applications using this factory method are providing hints for an internal session reuse strategy.

  Some cipher suites (such as Kerberos) require remote hostname information, in which case peerHost needs to be specified.

  Parameters:
    `host` - the non-authoritative name of the host
    `port` - the non-authoritative port
  Returns:
    the `SSLEngine` Object
  Since:
    1.5
  See Also:
    `SSLContext.createSSLEngine(String, int)`

### engineGetServerSessionContext

    protected abstract SSLSessionContext engineGetServerSessionContext()

  Returns a server `SSLSessionContext` object for this context.

  Returns:
    the `SSLSessionContext` object
  See Also:
    `SSLContext.getServerSessionContext()`

### engineGetClientSessionContext

    protected abstract SSLSessionContext engineGetClientSessionContext()

  Returns a client `SSLSessionContext` object for this context.

  Returns:
    the `SSLSessionContext` object
  See Also:
    `SSLContext.getClientSessionContext()`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.