Top Interfaces Annotations Classes
[default module]

Package org.conscrypt


Interface Summary

Modifier and TypeInterface and Description
public interface
CertBlocklist

A set of certificates that are blacklisted from trust.

public interface
CertPinManager

Interface for classes that implement certificate pinning for use in TrustManagerImpl.

public interface
ConscryptCertStore

A certificate store that supports additional operations that are used in TrustManagerImpl.

public interface
ConscryptHostnameVerifier

This interface is used to implement hostname verification in Conscrypt.

pack-priv interface
ConscryptSession

Extends the default interface for SSLSession to provide additional properties exposed by Conscrypt.

public interface
OpenSSLKeyHolder

Marker interface for classes that hold an OpenSSLKey.

public interface
PSKKeyManager

Deprecated This abstraction is deprecated because it does not work with TLS 1.3.
Provider of key material for pre-shared key (PSK) key exchange used in TLS-PSK cipher suites.
public interface
SSLClientSessionCache

A persistent javax.net.ssl.SSLSession cache used by javax.net.ssl.SSLSessionContext to share client-side SSL sessions across processes.

pack-priv interface
SSLServerSessionCache

A persistent javax.net.ssl.SSLSession cache used by javax.net.ssl.SSLSessionContext to share server-side SSL sessions across processes.

Annotation Summary

Modifier and TypeAnnotation and Description
public @interface
ExperimentalApi

Indicates a public API that can change at any time, and has no guarantee of API stability and backward-compatibility.

public @interface
Internal

Annotates a program element (class, method, package etc) which is internal to Conscrypt, not part of the public API, and should not be used by users of Conscrypt.

Class Summary

Modifier and TypeClass and Description
pack-priv abstract class
AbstractConscryptEngine

Abstract base class for all Conscrypt SSLEngine classes.

pack-priv abstract class
AbstractConscryptSocket

Abstract base class for all Conscrypt SSLSocket classes.

pack-priv abstract class
AbstractSessionContext

Supports SSL session caches.

pack-priv class
ActiveSession

A session that is dedicated a single connection and operates directly on the underlying SSL.

pack-priv class
AddressUtils

Utilities to check whether IP addresses meet some criteria.

public abstract class
AllocatedBuffer

A buffer that was allocated by a BufferAllocator.

public abstract class
ApplicationProtocolSelector

Server-side selector for the ALPN protocol.

pack-priv class
ApplicationProtocolSelectorAdapter

An adapter to bridge between the native code and the ApplicationProtocolSelector API.

pack-priv class
ArrayUtils

Compatibility utility for Arrays.

public abstract class
BufferAllocator

An object responsible for allocation of buffers.

pack-priv class
pack-priv class
ByteArray

Byte array wrapper for hashtable use.

public class
CertificatePriorityComparator

Comparator for prioritizing certificates in path building.

public class
ChainStrengthAnalyzer

Analyzes the cryptographic strength of a chain of X.509 certificates.

public class
ClientSessionContext

Caches client sessions.

public class
Conscrypt

Core API for creating and configuring all Conscrypt types.

pack-priv class
ConscryptEngine

Implements the SSLEngine API using OpenSSL's non-blocking interfaces.

pack-priv class
ConscryptEngineSocket

Implements crypto handling by delegating to ConscryptEngine.

pack-priv class
ConscryptFileDescriptorSocket

Implementation of the class OpenSSLSocketImpl based on OpenSSL.

pack-priv class
ConscryptServerSocket

BoringSSL-based implementation of server sockets.

pack-priv class
CryptoUpcalls

Provides a place where NativeCrypto can call back up to do Java language calls to work on delegated key types from native code.

public class
DefaultSSLContextImpl

Support class for this package.

public class
DESEDESecretKeyFactory

An implementation of javax.crypto.SecretKeyFactory for use with DESEDE keys.

pack-priv class
DuckTypedPSKKeyManager

Deprecated This abstraction is deprecated because it does not work with TLS 1.3.
Reflection-based PSKKeyManager adaptor for objects which expose all the methods of the PSKKeyManager interface but do not implement the interface.
public class
ECParameters

AlgorithmParameters implementation for elliptic curves.

pack-priv class
pack-priv class
EvpMdRef

Utility class to convert between BoringSSL- and JCE-style message digest identifiers.

pack-priv class
ExternalSession

An externalized view of the underlying SSLSession used within a socket/engine.

public class
FileClientSessionCache

File-based cache implementation.

public class
GCMParameters

GCM parameters used during an ciphering operation with OpenSSLCipher.

public abstract class
HandshakeListener

Similar in concept to javax.net.ssl.HandshakeCompletedListener, but used for listening directly to the engine.

pack-priv class
HostProperties

Utilities for interacting with properties of the host being run on.

public class
IvParameters

An implementation of java.security.AlgorithmParameters that contains only an IV.

pack-priv class
Java7ExtendedSSLSession

This is an adapter that wraps the active session with ExtendedSSLSession, if running on Java 7+.

pack-priv class
Java8EngineSocket

A version of ConscryptEngineSocket that includes the new Java 9 (and potentially later patches of 8) setHandshakeApplicationProtocolSelector API (which requires Java 8 for compilation, due to the use of BiFunction).

pack-priv class
Java8EngineWrapper

A wrapper around ConscryptEngine that adapts to the new Java 9 (and potentially later patches of 8) setHandshakeApplicationProtocolSelector API (which requires Java 8 for compilation, due to the use of BiFunction).

pack-priv class
Java8ExtendedSSLSession

This is an adapter that wraps the active session with ExtendedSSLSession, if running on Java 8+.

pack-priv class
Java8FileDescriptorSocket

A version of ConscryptFileDescriptorSocket that includes the new Java 9 (and potentially later patches of 8) setHandshakeApplicationProtocolSelector API (which requires Java 8 for compilation, due to the use of BiFunction).

pack-priv class
Java8PlatformUtil

Utility methods supported on Java 8+.

pack-priv class
Java9PlatformUtil

Utility methods supported on Java 9+.

public abstract class
KeyGeneratorImpl

An implementation of javax.crypto.KeyGenerator suitable for use with other Conscrypt algorithms.

public class
KeyManagerFactoryImpl

KeyManagerFactory implementation.

pack-priv class
KeyManagerImpl

KeyManager implementation.

public class
public class
NativeCrypto

Provides the Java side of our JNI glue for OpenSSL.

pack-priv class
NativeCryptoJni

Helper to initialize the JNI libraries.

pack-priv class
NativeLibraryLoader

Helper class to load JNI resources.

pack-priv class
pack-priv abstract class
NativeRef

Used to hold onto native OpenSSL references and run finalization on those objects.

pack-priv class
NativeSsl

A utility wrapper that abstracts operations on the underlying native SSL instance.

pack-priv abstract class
NativeSslSession

A utility wrapper that abstracts operations on the underlying native SSL_SESSION instance.

public class
OAEPParameters

AlgorithmParameters implementation for OAEP.

pack-priv class
OidData

Data about OIDs.

public class
OkHostnameVerifier

A HostnameVerifier consistent with RFC 2818.

public abstract class
public abstract class
public class
pack-priv class
OpenSSLBIOInputStream

Provides an interface to OpenSSL's BIO system directly from a Java InputStream.

pack-priv class
OpenSSLBIOSink

Wraps a BoringSSL BIO to act as a place to write out data.

pack-priv class
OpenSSLBIOSource

Wrapped by a BoringSSL BIO to act as a source of bytes.

public abstract class
OpenSSLCipher

An implementation of Cipher using BoringSSL as the backing library.

public class
OpenSSLCipherChaCha20

Implementation of the ChaCha20 stream cipher.

public abstract class
public abstract class
OpenSSLContextImpl

OpenSSL-backed SSLContext service provider interface.

public class
OpenSSLECDHKeyAgreement

Elliptic Curve Diffie-Hellman key agreement backed by the OpenSSL engine.

pack-priv class
OpenSSLECGroupContext

Represents a BoringSSL EC_GROUP object.

public class
OpenSSLECKeyFactory

An implementation of a KeyFactorySpi for EC keys based on BoringSSL.

public class
OpenSSLECKeyPairGenerator

An implementation of KeyPairGenerator for EC keys which uses BoringSSL to perform all the operations.

pack-priv class
pack-priv class
OpenSSLECPrivateKey

An implementation of a PrivateKey for EC keys based on BoringSSL.

pack-priv class
OpenSSLECPublicKey

An implementation of a java.security.PublicKey for EC keys based on BoringSSL.

public abstract class
public abstract class
public class
public abstract class
pack-priv class
OpenSSLKey

Represents a BoringSSL EVP_PKEY.

public abstract class
OpenSSLMac

An implementation of javax.crypto.Mac which uses BoringSSL to perform all the operations.

public class
OpenSSLMessageDigestJDK

Implements the JDK MessageDigest interface using OpenSSL's EVP API.

public class
OpenSSLProvider

Provider that uses BoringSSL to perform the actual cryptographic operations.

public class
OpenSSLRandom

Implements java.security.SecureRandom using BoringSSL's RAND interface.

public class
OpenSSLRSAKeyFactory

An implementation of java.security.KeyFactory which uses BoringSSL to perform all the operations.

public class
OpenSSLRSAKeyPairGenerator

An implementation of java.security.KeyPairGenerator which uses BoringSSL to perform all the operations.

pack-priv class
OpenSSLRSAPrivateCrtKey

An implementation of java.security.PrivateKey for RSA keys which uses BoringSSL to perform all the operations.

pack-priv class
OpenSSLRSAPrivateKey

An implementation of java.security.PrivateKey for RSA keys which uses BoringSSL to perform all the operations.

public class
OpenSSLRSAPublicKey

An implementation of java.security.PublicKey for RSA keys which uses BoringSSL to perform all the operations.

pack-priv class
OpenSSLServerSocketFactoryImpl

An implementation of SSLServerSocketFactory using BoringSSL.

public class
OpenSSLSignature

Implements the subset of the JDK Signature interface needed for signature verification using OpenSSL.

public class
OpenSSLSignatureRawECDSA

Implements the JDK Signature interface needed for RAW ECDSA signature generation and verification using BoringSSL.

public class
OpenSSLSignatureRawRSA

Implements the JDK Signature interface needed for RAW RSA signature generation and verification using BoringSSL.

pack-priv class
OpenSSLSocketFactoryImpl

An implementation of SSLSocketFactory based on BoringSSL.

public abstract class
OpenSSLSocketImpl

Public shim allowing us to stay backward-compatible with legacy applications which were using Conscrypt's extended socket API before the introduction of the Conscrypt class.

public class
OpenSSLX509Certificate

An implementation of X509Certificate based on BoringSSL.

public class
pack-priv class
OpenSSLX509CertPath

An implementation of CertPath based on BoringSSL.

pack-priv class
OpenSSLX509CRL

An implementation of X509CRL based on BoringSSL.

pack-priv class
OpenSSLX509CRLEntry

An implementation of X509CRLEntry based on BoringSSL.

pack-priv abstract class
PeerInfoProvider

A provider for the peer host and port information.

pack-priv class
Platform

Platform-specific methods for OpenJDK.

pack-priv class
Preconditions

Static convenience methods that help a method or constructor check whether it was invoked correctly (that is, whether its preconditions were met).

public class
PSSParameters

AlgorithmParameters implementation for PSS.

public class
ServerSessionContext

Caches server sessions.

pack-priv class
SessionSnapshot

A snapshot of the content of another ConscryptSession.

pack-priv class
ShortBufferWithoutStackTraceException

This class basically does the same thing the ShortBufferException class does except not filling in stack trace in the exception to save CPU-time for it in an environment where this can be thrown many times.

pack-priv class
SSLNullSession

This is returned in the place of a SSLSession when no TLS connection could be negotiated, but one was requested from a method that can't throw an exception such as javax.net.ssl.SSLSocket#getSession() before javax.net.ssl.SSLSocket#startHandshake() is called.

pack-priv class
SSLParametersImpl

The instances of this class encapsulate all the info about enabled cipher suites and protocols, as well as the information about client/server mode of ssl socket, whether it require/want client authentication or not, and controls whether new SSL sessions may be established by this socket or not.

pack-priv class
SSLUtils

Utility methods for SSL packet processing.

public class
TrustedCertificateIndex

Indexes TrustAnchor instances so they can be found in O(1) time instead of O(N).

public class
TrustManagerFactoryImpl

TrustManagerFactory service provider interface implementation.

public class
TrustManagerImpl

TrustManager implementation.

pack-priv class
X509PublicKey

A simple but useless key class that holds X.509 public key information when the appropriate KeyFactory for the key algorithm is not available.