SSLContextSpi (Java Platform SE 6) (original) (raw)



javax.net.ssl

Class SSLContextSpi

java.lang.Object extended by 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](../../../javax/net/ssl/SSLContextSpi.html#engineCreateSSLEngine%28java.lang.String, int%29)(String host, int port) Creates a SSLEngine using this context.
protected abstract SSLSessionContext engineGetClientSessionContext() Returns a client SSLSessionContext object for this context.
protected SSLParameters engineGetDefaultSSLParameters() Returns a copy of the SSLParameters indicating the default settings for this SSL 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 SSLParameters engineGetSupportedSSLParameters() Returns a copy of the SSLParameters indicating the maximum supported settings for this SSL context.
protected abstract void [engineInit](../../../javax/net/ssl/SSLContextSpi.html#engineInit%28javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom%29)(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](../../../java/lang/Object.html#wait%28long, int%29)
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](../../../java/security/KeyManagementException.html "class in java.security") - if this operation fails

See Also:

[SSLContext.init(KeyManager [], TrustManager [], SecureRandom)](../../../javax/net/ssl/SSLContext.html#init%28javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom%29)


engineGetSocketFactory

protected abstract SSLSocketFactory engineGetSocketFactory()

Returns a SocketFactory object for this context.

Returns:

the SocketFactory object

Throws:

[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang") - if the SSLContextImpl requires initialization and the engineInit() has not been called

See Also:

SSLContext.getSocketFactory()


engineGetServerSocketFactory

protected abstract SSLServerSocketFactory engineGetServerSocketFactory()

Returns a ServerSocketFactory object for this context.

Returns:

the ServerSocketFactory object

Throws:

[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang") - if the SSLContextImpl requires initialization and the engineInit() has not been called

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)](../../../javax/net/ssl/SSLContextSpi.html#engineCreateSSLEngine%28java.lang.String, int%29) 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

Throws:

[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang") - if the SSLContextImpl requires initialization and the engineInit() has not been called

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

Throws:

[IllegalStateException](../../../java/lang/IllegalStateException.html "class in java.lang") - if the SSLContextImpl requires initialization and the engineInit() has not been called

Since:

1.5

See Also:

[SSLContext.createSSLEngine(String, int)](../../../javax/net/ssl/SSLContext.html#createSSLEngine%28java.lang.String, int%29)


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()


engineGetDefaultSSLParameters

protected SSLParameters engineGetDefaultSSLParameters()

Returns a copy of the SSLParameters indicating the default settings for this SSL context.

The parameters will always have the ciphersuite and protocols arrays set to non-null values.

The default implementation obtains the parameters from an SSLSocket created by calling theSocketFactory.createSocket() method of this context's SocketFactory.

Returns:

a copy of the SSLParameters object with the default settings

Throws:

[UnsupportedOperationException](../../../java/lang/UnsupportedOperationException.html "class in java.lang") - if the default SSL parameters could not be obtained.

Since:

1.6


engineGetSupportedSSLParameters

protected SSLParameters engineGetSupportedSSLParameters()

Returns a copy of the SSLParameters indicating the maximum supported settings for this SSL context.

The parameters will always have the ciphersuite and protocols arrays set to non-null values.

The default implementation obtains the parameters from an SSLSocket created by calling theSocketFactory.createSocket() method of this context's SocketFactory.

Returns:

a copy of the SSLParameters object with the maximum supported settings

Throws:

[UnsupportedOperationException](../../../java/lang/UnsupportedOperationException.html "class in java.lang") - if the supported SSL parameters could not be obtained.

Since:

1.6



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

Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

Scripting on this page tracks web page traffic, but does not change the content in any way.