- java.lang.Object
-
- javax.net.ssl.SSLContextSpi
-
public abstract class SSLContextSpi extends Object
This class defines the Service Provider Interface (SPI) for theSSLContext
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
Constructors Constructor and Description SSLContextSpi()
-
Method Summary
Methods Modifier and Type Method and Description protected abstract SSLEngine
engineCreateSSLEngine()
Creates a newSSLEngine
using this context.protected abstract SSLEngine
engineCreateSSLEngine(String host, int port)
Creates aSSLEngine
using this context.protected abstract SSLSessionContext
engineGetClientSessionContext()
Returns a clientSSLSessionContext
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 serverSSLSessionContext
object for this context.protected abstract SSLServerSocketFactory
engineGetServerSocketFactory()
Returns aServerSocketFactory
object for this context.protected abstract SSLSocketFactory
engineGetSocketFactory()
Returns aSocketFactory
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(KeyManager[] km, TrustManager[] tm, SecureRandom sr)
Initializes this context.
-
-
-
Method Detail
-
engineInit
protected abstract void engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr) throws KeyManagementException
Initializes this context.- Parameters:
km
- the sources of authentication keystm
- the sources of peer authentication trust decisionssr
- the source of randomness- Throws:
KeyManagementException
- if this operation fails- See Also:
SSLContext.init(KeyManager [], TrustManager [], SecureRandom)
-
engineGetSocketFactory
protected abstract SSLSocketFactory engineGetSocketFactory()
Returns aSocketFactory
object for this context.- Returns:
- the
SocketFactory
object - Throws:
IllegalStateException
- if the SSLContextImpl requires initialization and theengineInit()
has not been called- See Also:
SSLContext.getSocketFactory()
-
engineGetServerSocketFactory
protected abstract SSLServerSocketFactory engineGetServerSocketFactory()
Returns aServerSocketFactory
object for this context.- Returns:
- the
ServerSocketFactory
object - Throws:
IllegalStateException
- if the SSLContextImpl requires initialization and theengineInit()
has not been called- See Also:
SSLContext.getServerSocketFactory()
-
engineCreateSSLEngine
protected abstract SSLEngine engineCreateSSLEngine()
Creates a newSSLEngine
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 - Throws:
IllegalStateException
- if the SSLContextImpl requires initialization and theengineInit()
has not been called- Since:
- 1.5
- See Also:
SSLContext.createSSLEngine()
-
engineCreateSSLEngine
protected abstract SSLEngine engineCreateSSLEngine(String host, int port)
Creates aSSLEngine
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 hostport
- the non-authoritative port- Returns:
- the
SSLEngine
Object - Throws:
IllegalStateException
- if the SSLContextImpl requires initialization and theengineInit()
has not been called- Since:
- 1.5
- See Also:
SSLContext.createSSLEngine(String, int)
-
engineGetServerSessionContext
protected abstract SSLSessionContext engineGetServerSessionContext()
Returns a serverSSLSessionContext
object for this context.- Returns:
- the
SSLSessionContext
object - See Also:
SSLContext.getServerSessionContext()
-
engineGetClientSessionContext
protected abstract SSLSessionContext engineGetClientSessionContext()
Returns a clientSSLSessionContext
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 the SocketFactory.createSocket() method of this context's SocketFactory.
- Returns:
- a copy of the SSLParameters object with the default settings
- Throws:
UnsupportedOperationException
- 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 the SocketFactory.createSocket() method of this context's SocketFactory.
- Returns:
- a copy of the SSLParameters object with the maximum supported settings
- Throws:
UnsupportedOperationException
- if the supported SSL parameters could not be obtained.- Since:
- 1.6
-
-
Traduction non disponible
Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Version en cache
05/11/2024 11:45:21 Cette version de la page est en cache (à la date du 05/11/2024 11:45:21) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 31/08/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-javax/net/ssl/SSLContextSpi.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.