# Package javax.net.ssl

package javax.net.ssl
Provides classes for the secure socket package. Using the secure socket classes, you can communicate using SSL or a related security protocol to reliably detect any errors introduced into the network byte stream and to optionally encrypt the data and/or authenticate the communicating peers.

- Java Security Standard Algorithm Names Specification

Since:
  1.4
External Specifications
  - Java Security Standard Algorithm Names

- Related Packages
  Package
  Description
  javax.net
  Provides classes for networking applications.
- Class
  Description
  CertPathTrustManagerParameters
  A wrapper for CertPathParameters.
  ExtendedSSLSession
  Extends the `SSLSession` interface to support additional session attributes.
  HandshakeCompletedEvent
  This event indicates that an SSL handshake completed on a given SSL connection.
  HandshakeCompletedListener
  This interface is implemented by any class which wants to receive notifications about the completion of an SSL protocol handshake on a given SSL connection.
  HostnameVerifier
  This class is the base interface for hostname verification.
  HttpsURLConnection
  `HttpsURLConnection` extends `HttpURLConnection` with support for https-specific features.
  KeyManager
  This is the base interface for JSSE key managers.
  KeyManagerFactory
  This class acts as a factory for key managers based on a source of key material.
  KeyManagerFactorySpi
  This class defines the Service Provider Interface (SPI) for the `KeyManagerFactory` class.
  KeyStoreBuilderParameters
  A parameters object for X509KeyManagers that encapsulates a List of KeyStore.Builders.
  ManagerFactoryParameters
  This class is the base interface for providing algorithm-specific information to a KeyManagerFactory or TrustManagerFactory.
  SNIHostName
  Instances of this class represent a server name of type `host_name` in a Server Name Indication (SNI) extension.
  SNIMatcher
  Instances of this class represent a matcher that performs match operations on an `SNIServerName` instance.
  SNIServerName
  Instances of this class represent a server name in a Server Name Indication (SNI) extension.
  SSLContext
  Instances of this class represent a secure socket protocol implementation which acts as a factory for secure socket factories or `SSLEngine`s.
  SSLContextSpi
  This class defines the Service Provider Interface (SPI) for the `SSLContext` class.
  SSLEngine
  A class which enables secure communications using protocols such as the Secure Sockets Layer (SSL) or IETF RFC 2246 "Transport Layer Security" (TLS) protocols, but is transport independent.
  SSLEngineResult
  An encapsulation of the result state produced by `SSLEngine` I/O calls.
  SSLEngineResult.HandshakeStatus
  An `SSLEngineResult` enum describing the current handshaking state of this `SSLEngine`.
  SSLEngineResult.Status
  An `SSLEngineResult` enum describing the overall result of the `SSLEngine` operation.
  SSLException
  Indicates some kind of error detected by an SSL subsystem.
  SSLHandshakeException
  Indicates that the client and server could not negotiate the desired level of security.
  SSLKeyException
  Reports a bad SSL key.
  SSLParameters
  Encapsulates parameters for an SSL/TLS/DTLS connection.
  SSLPeerUnverifiedException
  Indicates that the peer's identity has not been verified.
  SSLPermission
  This class is for various network permissions.
  SSLProtocolException
  Reports an error in the operation of the SSL protocol.
  SSLServerSocket
  This class extends `ServerSocket` and provides secure server sockets using protocols such as the Secure Sockets Layer (SSL) or Transport Layer Security (TLS) protocols.
  SSLServerSocketFactory
  `SSLServerSocketFactory`s create `SSLServerSocket`s.
  SSLSession
  In SSL, sessions are used to describe an ongoing relationship between two entities.
  SSLSessionBindingEvent
  This event is propagated to a SSLSessionBindingListener.
  SSLSessionBindingListener
  This interface is implemented by objects which want to know when they are being bound or unbound from a SSLSession.
  SSLSessionContext
  A `SSLSessionContext` represents a set of `SSLSession`s associated with a single entity.
  SSLSocket
  This class extends `Socket` and provides secure sockets using protocols such as the "Secure Sockets Layer" (SSL) or IETF "Transport Layer Security" (TLS) protocols.
  SSLSocketFactory
  `SSLSocketFactory`s create `SSLSocket`s.
  StandardConstants
  Standard constants definitions
  TrustManager
  This is the base interface for JSSE trust managers.
  TrustManagerFactory
  This class acts as a factory for trust managers based on a source of trust material.
  TrustManagerFactorySpi
  This class defines the Service Provider Interface (SPI) for the `TrustManagerFactory` class.
  X509ExtendedKeyManager
  Abstract class that provides for extension of the X509KeyManager interface.
  X509ExtendedTrustManager
  Extensions to the `X509TrustManager` interface to support SSL/TLS/DTLS connection sensitive trust management.
  X509KeyManager
  Instances of this interface manage which X509 certificate-based key pairs are used to authenticate the local side of a secure socket.
  X509TrustManager
  Instance of this interface manage which X509 certificates may be used to authenticate the remote side of a secure socket.