# Package javax.net.ssl

Provides classes for the secure socket package.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  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.
  KeyManager | This is the base interface for JSSE key managers.
  ManagerFactoryParameters | This class is the base interface for providing algorithm-specific information to a KeyManagerFactory or TrustManagerFactory.
  SSLSession | In SSL, sessions are used to describe an ongoing relationship between two entities.
  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.
  TrustManager | This is the base interface for JSSE trust managers.
  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.

- Class Summary
  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.
  HttpsURLConnection | `HttpsURLConnection` extends `HttpURLConnection` with support for https-specific features.
  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.
  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.
  SSLParameters | Encapsulates parameters for an SSL/TLS connection.
  SSLPermission | This class is for various network permissions.
  SSLServerSocket | This class extends `ServerSocket`s 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.
  SSLSessionBindingEvent | This event is propagated to a SSLSessionBindingListener.
  SSLSocket | This class extends `Socket`s and provides secure socket using protocols such as the "Secure Sockets Layer" (SSL) or IETF "Transport Layer Security" (TLS) protocols.
  SSLSocketFactory | `SSLSocketFactory`s create `SSLSocket`s.
  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 connection sensitive trust management.

- Enum Summary
  Enum | Description
  --- | ---
  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.

- Exception Summary
  Exception | Description
  --- | ---
  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.
  SSLPeerUnverifiedException | Indicates that the peer's identity has not been verified.
  SSLProtocolException | Reports an error in the operation of the SSL protocol.

## Package javax.net.ssl Description

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.

## Package Specification

- JavaTM Cryptography Architecture Standard Algorithm Name Documentation

Since:
  1.4

Submit a bug or feature
For further API reference and developer documentation, see Java SE 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.