public final class ConnectionSuite extends Object
https: url,这包括在协商安全连接时要使用
的TLS版本和密码套件,只有在SSL套接字中也启用了连接规范中配置的TLS版本时,才会使用它们。例如,
如果SSL套接字没有启用TLS 1.3,即使它在连接规范中出现,也不会被使用。同样的策略也适用于密码套件
使用ConnectionSuite.Builder.allEnabledTlsVersions()和ConnectionSuite.Builder.allEnabledCipherSuites()
将所有特性选择延迟到底层SSL套接字| Modifier and Type | Class and Description |
|---|---|
static class |
ConnectionSuite.Builder |
| Modifier and Type | Field and Description |
|---|---|
static ConnectionSuite |
CLEARTEXT
用于
http: url的未加密、未经身份验证的连接 |
static ConnectionSuite |
COMPATIBLE_TLS
向后兼容的回退连接,用于与过时的服务器进行互操作.
|
static ConnectionSuite |
MODERN_TLS
一个TLS连接与扩展,如SNI和ALPN可用
|
static Comparator<String> |
NATURAL_ORDER |
static ConnectionSuite |
RESTRICTED_TLS
一个安全的TLS连接,假设有一个现代的客户端平台和服务器
|
| Modifier and Type | Method and Description |
|---|---|
void |
apply(SSLSocket sslSocket,
boolean isFallback)
将此规范应用于
sslSocket |
List<CipherSuite> |
cipherSuites() |
boolean |
equals(Object other) |
int |
hashCode() |
boolean |
isCompatible(SSLSocket socket)
如果当前配置的套接字支持此连接规范,则返回
true 为了使套接字兼容,启用的密码套件和协议必须相交
对于密码套件,required cipher suites中至少有一个必须与套接字启用的密码
套件匹配。如果不需要密码套件,则套接字必须至少启用一个密码套件
对于协议,required protocols中至少有一个必须与套接字启用的协议匹配 |
boolean |
isTls() |
boolean |
supportsTlsExtensions() |
List<TlsVersion> |
tlsVersions() |
String |
toString() |
public static final Comparator<String> NATURAL_ORDER
public static final ConnectionSuite CLEARTEXT
http: url的未加密、未经身份验证的连接public static final ConnectionSuite RESTRICTED_TLS
public static final ConnectionSuite MODERN_TLS
public static final ConnectionSuite COMPATIBLE_TLS
public boolean isTls()
public List<CipherSuite> cipherSuites()
public List<TlsVersion> tlsVersions()
public boolean supportsTlsExtensions()
public void apply(SSLSocket sslSocket, boolean isFallback)
sslSocketsslSocket - 安全套接字isFallback - 是否失败回调public boolean isCompatible(SSLSocket socket)
true 为了使套接字兼容,启用的密码套件和协议必须相交
对于密码套件,required cipher suites中至少有一个必须与套接字启用的密码
套件匹配。如果不需要密码套件,则套接字必须至少启用一个密码套件
对于协议,required protocols中至少有一个必须与套接字启用的协议匹配socket - 安全套接字Copyright © 2019. All rights reserved.