Class ConnectionSuite

java.lang.Object
org.miaixz.bus.http.accord.ConnectionSuite

public class ConnectionSuite extends Object
指定HTTP传输通过的套接字连接的配置。对于https: url,这包括在协商安全连接时要使用 的TLS版本和密码套件,只有在SSL套接字中也启用了连接规范中配置的TLS版本时,才会使用它们。例如, 如果SSL套接字没有启用TLS 1.3,即使它在连接规范中出现,也不会被使用。同样的策略也适用于密码套件 使用ConnectionSuite.Builder.allEnabledTlsVersions()ConnectionSuite.Builder.allEnabledCipherSuites() 将所有特性选择延迟到底层SSL套接字
Since:
Java 17+
Author:
Kimi Liu
  • Field Details

    • CLEARTEXT

      public static final ConnectionSuite CLEARTEXT
      用于http: url的未加密、未经身份验证的连接
    • MODERN_TLS

      public static final ConnectionSuite MODERN_TLS
      一个TLS连接与扩展,如SNI和ALPN可用
  • Method Details

    • isTls

      public boolean isTls()
    • cipherSuites

      public List<CipherSuite> cipherSuites()
      Returns:
      用于连接的密码套件。如果应该使用SSL套接字的所有启用密码套件,则返回null
    • tlsVersions

      public List<org.miaixz.bus.core.net.tls.TlsVersion> tlsVersions()
      Returns:
      在协商连接时使用的TLS版本。如果应该使用SSL套接字的所有启用的TLS版本,则返回null
    • supportsTlsExtensions

      public boolean supportsTlsExtensions()
    • apply

      public void apply(SSLSocket sslSocket, boolean isFallback)
      将此规范应用于sslSocket
      Parameters:
      sslSocket - 安全套接字
      isFallback - 是否失败回调
    • isCompatible

      public boolean isCompatible(SSLSocket socket)
      如果当前配置的套接字支持此连接规范,则返回true 为了使套接字兼容,启用的密码套件和协议必须相交 对于密码套件,required cipher suites中至少有一个必须与套接字启用的密码 套件匹配。如果不需要密码套件,则套接字必须至少启用一个密码套件 对于协议,required protocols中至少有一个必须与套接字启用的协议匹配
      Parameters:
      socket - 安全套接字
      Returns:
      the true/false
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object