public final class ConnectionSpec extends Object
https: URLs, this includes the TLS version and cipher suites to use when negotiating a secure
connection.| Modifier and Type | Class and Description |
|---|---|
static class |
ConnectionSpec.Builder |
| Modifier and Type | Field and Description |
|---|---|
static ConnectionSpec |
CLEARTEXT
Unencrypted, unauthenticated connections for
http: URLs. |
static ConnectionSpec |
COMPATIBLE_TLS
A backwards-compatible fallback connection for interop with obsolete servers.
|
static ConnectionSpec |
MODERN_TLS
A modern TLS connection with extensions like SNI and ALPN available.
|
| Modifier and Type | Method and Description |
|---|---|
List<CipherSuite> |
cipherSuites()
Returns the cipher suites to use for a connection.
|
boolean |
equals(Object other)
Compares this instance with the specified object and indicates if they
are equal.
|
int |
hashCode()
Returns an integer hash code for this object.
|
boolean |
isCompatible(SSLSocket socket)
Returns
true if the socket, as currently configured, supports this ConnectionSpec. |
boolean |
isTls() |
boolean |
supportsTlsExtensions() |
List<TlsVersion> |
tlsVersions() |
String |
toString()
Returns a string containing a concise, human-readable description of this
object.
|
public static final ConnectionSpec MODERN_TLS
public static final ConnectionSpec COMPATIBLE_TLS
public static final ConnectionSpec CLEARTEXT
http: URLs.public boolean isTls()
public List<CipherSuite> cipherSuites()
null if the
cipher suites enabled by default should be used.public List<TlsVersion> tlsVersions()
public boolean supportsTlsExtensions()
public boolean isCompatible(SSLSocket socket)
true if the socket, as currently configured, supports this ConnectionSpec.
In order for a socket to be compatible the enabled cipher suites and protocols must intersect.
For cipher suites, at least one of the required cipher suites must
match the socket's enabled cipher suites. If there are no required cipher suites the socket
must have at least one cipher suite enabled.
For protocols, at least one of the required protocols must match the
socket's enabled protocols.
public boolean equals(Object other)
Objecto must represent the same object
as this instance using a class-specific comparison. The general contract
is that this comparison should be reflexive, symmetric, and transitive.
Also, no object reference other than null is equal to null.
The default implementation returns true only if this ==
o. See Writing a correct
equals method
if you intend implementing your own equals method.
The general contract for the equals and Object.hashCode() methods is that if equals returns true for
any two objects, then hashCode() must return the same value for
these objects. This means that subclasses of Object usually
override either both methods or neither of them.
equals in class Objectother - the object to compare this instance with.true if the specified object is equal to this Object; false otherwise.Object.hashCode()public int hashCode()
ObjectObject.equals(java.lang.Object) returns true must return
the same hash code value. This means that subclasses of Object
usually override both methods or neither method.
Note that hash values must not change over time unless information used in equals comparisons also changes.
See Writing a correct
hashCode method
if you intend implementing your own hashCode method.
hashCode in class ObjectObject.equals(java.lang.Object)public String toString()
ObjectgetClass().getName() + '@' + Integer.toHexString(hashCode())
See Writing a useful
toString method
if you intend implementing your own toString method.