Top Description Interfaces Classes
[default module]

Package org.bouncycastle.tls


A low-level TLS/DTLS API.

Interface Summary

Modifier and TypeInterface and Description
public interface
public interface
public interface
DatagramTransport

Base interface for an object sending and receiving DTLS data.

pack-priv interface
public interface
pack-priv interface
EdECObjectIdentifiers

Edwards Elliptic Curve Object Identifiers (RFC 8410)

pack-priv interface
public interface
TlsAuthentication

Base interface to provide TLS authentication credentials.

public interface
TlsClient

Interface describing a TLS client endpoint.

public interface
TlsClientContext

Marker interface to distinguish a TLS client context.

public interface
public interface
TlsCompression

Base interface for a compression operator.

public interface
TlsContext

Base interface for a TLS context implementation.

public interface
TlsCredentialedAgreement

Support interface for generating a secret based on the credentials sent by a TLS peer.

public interface
TlsCredentialedDecryptor

Base interface for a class that decrypts TLS secrets.

public interface
TlsCredentialedSigner

Support interface for generating a signature based on our private credentials.

public interface
TlsCredentials

Base interface for interfaces/classes carrying TLS credentials.

public interface
TlsDHConfigVerifier

Interface a class for verifying Diffie-Hellman config needs to conform to.

public interface
TlsDHGroupVerifier

Interface for verifying explicit Diffie-Hellman group parameters.

public interface
TlsECConfigVerifier

Interface a class for verifying EC config needs to conform to.

public interface
TlsHandshakeHash

Base interface for an object that can calculate a handshake hash.

public interface
public interface
TlsKeyExchange

A generic interface for key exchange implementations in (D)TLS.

public interface
TlsKeyExchangeFactory

Interface for a key exchange factory offering a variety of specific algorithms.

public interface
TlsObjectIdentifiers

Object Identifiers associated with TLS extensions.

public interface
TlsPeer

Base interface for a (D)TLS endpoint.

public interface
public interface
public interface
TlsPSKIdentity

Processor interface for a PSK identity.

public interface
TlsPSKIdentityManager

Base interface for an object that can process a PSK identity.

public interface
TlsServer

Interface describing a TLS server endpoint.

public interface
TlsServerCertificate

Server certificate carrier interface.

public interface
TlsServerContext

Marker interface to distinguish a TLS server context.

public interface
TlsSession

Base interface for a carrier object for a TLS session.

public interface
TlsSRPConfigVerifier

Interface for verifying SRP config needs to conform to.

public interface
TlsSRPIdentity

Processor interface for an SRP identity.

public interface
TlsSRPIdentityManager

Base interface for an object that can return login parameters from an SRP identity.

Class Summary

Modifier and TypeClass and Description
public abstract class
AbstractTlsClient

Base class for a TLS client.

pack-priv abstract class
public abstract class
AbstractTlsKeyExchange

Base class for supporting a TLS key exchange implementation.

public abstract class
AbstractTlsKeyExchangeFactory

Base class for supporting a TLS key exchange factory implementation.

public abstract class
AbstractTlsPeer

Base class for a TLS client or server.

public abstract class
AbstractTlsServer

Base class for a TLS server.

public class
AlertDescription

RFC 5246 7.2.

public class
AlertLevel

RFC 5246 7.2

pack-priv class
public class
public class
BasicTlsPSKIdentity

A basic PSK Identity holder.

public class
BasicTlsSRPIdentity

A basic SRP Identity holder.

public class
BulkCipherAlgorithm

Deprecated Will be removed.
RFC 2246

Note that the values here are implementation-specific and arbitrary.

public class
ByteQueue

A queue for bytes.

public class
ByteQueueInputStream

InputStream based on a ByteQueue implementation.

public class
ByteQueueOutputStream

OutputStream based on a ByteQueue implementation.

public class
public class
CertChainType

Implementation of the RFC 3546 3.3.

public class
Certificate

Parsing and encoding of a Certificate struct from RFC 4346.

public class
public class
CertificateRequest

Parsing and encoding of a CertificateRequest struct from RFC 4346:

struct {
    ClientCertificateType certificate_types<1..2^8-1>;
    DistinguishedName certificate_authorities<3..2^16-1>;
} CertificateRequest;
public class
public class
CertificateStatusRequest

Implementation of the RFC 3546 3.6.

public class
CertificateStatusRequestItemV2

Implementation of the RFC 6961 2.2.

public class
public class
public class
public class
public class
public class
ChannelBinding

RFC 5056

Note that the values here are implementation-specific and arbitrary.

public class
CipherSuite

RFC 2246 A.5

public class
CipherType

RFC 2246

Note that the values here are implementation-specific and arbitrary.

public class
public class
public class
public class
CombinedHash

A combined hash, which implements md5(m) || sha1(m).

public class
CompressionMethod

RFC 2246 6.1

public class
ConnectionEnd

RFC 2246

Note that the values here are implementation-specific and arbitrary.

public class
ContentType

RFC 2246 6.2.1

public abstract class
public class
DefaultTlsCredentialedSigner

Container class for generating signatures that carries the signature type, parameters, public key certificate and public key's associated signer object.

public class
public class
public class
public abstract class
public class
pack-priv class
DeferredHash

Buffers input until the hash algorithm is determined.

pack-priv class
public class
public class
pack-priv class
public abstract class
pack-priv class
public abstract class
pack-priv class
pack-priv class
pack-priv class
DTLSReplayWindow

RFC 4347 4.1.2.5 Anti-replay

Support fast rejection of duplicate records by maintaining a sliding receive window

public class
public class
public class
public class
DTLSVerifier

Implements cookie generation/verification for a DTLS server as described in RFC 4347, 4.2.1.

public class
ECBasisType

Deprecated Will be removed.
RFC 4492 5.4.
public class
ECCurveType

RFC 4492 5.4

public class
ECPointFormat

RFC 4492 5.1.2

public class
EncryptionAlgorithm

RFC 2246

Note that the values here are implementation-specific and arbitrary.

public class
ExporterLabel

RFC 5705

public class
public class
pack-priv class
public class
public class
HashAlgorithm

RFC 5246 7.4.1.4.1

public class
public class
public class
public class
public class
public class
KeyExchangeAlgorithm

RFC 2246

Note that the values here are implementation-specific and arbitrary.

public class
public class
KeyUpdateRequest

RFC 8446 4.6.3

public class
MACAlgorithm

RFC 2246

Note that the values here are implementation-specific and arbitrary.

public class
public class
NamedGroup

RFC 7919

public class
NamedGroupRole

Note that the values here are implementation-specific and arbitrary.

public class
public class
pack-priv class
public class
OCSPStatusRequest

RFC 3546 3.6

public class
public class
PRFAlgorithm

RFC 5246

Note that the values here are implementation-specific and arbitrary.

public class
ProtocolName

RFC 7301 Represents a protocol name for use with ALPN.

public class
public class
public class
public class
public class
public abstract class
public class
pack-priv class
RecordStream

An implementation of the TLS 1.0/1.1/1.2 record layer.

public class
RenegotiationPolicy

Note that the values here are implementation-specific and arbitrary.

public class
SecurityParameters

Carrier class for general security parameters.

public class
public class
ServerName

RFC 6066 3.

public class
public abstract class
public class
public class
public class
pack-priv class
public class
SignatureAlgorithm

RFC 5246 7.4.1.4.1 (in RFC 2246, there were no specific values assigned)

public class
SignatureAndHashAlgorithm

RFC 5246 7.4.1.4.1

public class
pack-priv abstract class
public class
SimulatedTlsSRPIdentityManager

An implementation of TlsSRPIdentityManager that simulates the existence of "unknown" identities to obscure the fact that there is no verifier for them.

public class
public class
public class
pack-priv class
public class
public class
pack-priv class
pack-priv class
pack-priv class
public class
public class
TlsDHanonKeyExchange

(D)TLS DH_anon key exchange.

public class
public class
TlsDHKeyExchange

(D)TLS DH key exchange.

public class
public class
public class
TlsECDHanonKeyExchange

(D)TLS ECDH_anon key exchange (see RFC 4492).

public class
TlsECDHEKeyExchange

(D)TLS ECDHE key exchange (see RFC 4492).

public class
TlsECDHKeyExchange

(D)TLS ECDH key exchange (see RFC 4492).

public class
TlsException

Base exception for various TLS alerts.

public class
public class
public class
pack-priv class
TlsInputStream

An InputStream for a TLS connection.

public class
TlsNoCloseNotifyException

This exception will be thrown (only) when the connection is closed by the peer without sending a close_notify warning alert.

public class
pack-priv class
TlsOutputStream

An OutputStream for a TLS connection.

public class
public abstract class
public class
TlsPSKKeyExchange

(D)TLS PSK key exchange (RFC 4279).

public class
TlsRSAKeyExchange

(D)TLS RSA key exchange.

public abstract class
TlsRSAUtils

RSA utility methods.

pack-priv class
pack-priv class
public class
pack-priv class
public class
TlsSRPKeyExchange

(D)TLS SRP key exchange (RFC 5054).

public class
public class
public class
TlsSRTPUtils

RFC 5764 DTLS Extension to Establish Keys for SRTP.

public class
public class
TlsUtils

Some helper functions for the TLS API.

public class
public class
public class
URLAndHash

RFC 6066 5.

public class
public class
UseSRTPData

RFC 5764 4.1.1

pack-priv class