Module bus.http

Class Platform

java.lang.Object
org.miaixz.bus.http.accord.platform.Platform
Direct Known Subclasses:
JdkPlatform

public class Platform extends Object
访问特定于平台的特性. 服务器名称指示(SNI) 支持Android 2.3+ 支持Android 4.0+. 支持Android 5.0+ 支持 OpenJDK 7+ 支持 OpenJDK 7 and 8 (via the JettyALPN-boot library) 支持OpenJDK 9 SSLParameters和SSLSocket特性 升级到Android 2.3+和OpenJDK 7+。没有用于恢复用于 创建SSLSocketFactory的trustmanager的公共api 支持Android 6.0+ NetworkSecurityPolicy
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • Platform

      public Platform()
  • Method Details

    • get

      public static Platform get()
    • alpnProtocolNames

      public static List<String> alpnProtocolNames(List<org.miaixz.bus.core.net.Protocol> protocols)
    • getPrefix

      public String getPrefix()
      自定义头文件中使用的前缀
      Returns:
      前缀
    • trustManager

      protected X509TrustManager trustManager(SSLSocketFactory sslSocketFactory)
      管理哪些X509证书可用于对安全套接字的远程端进行身份验证。 决策可能基于可信的证书颁发机构、证书撤销列表、在线状态检查或其他方法
      Parameters:
      sslSocketFactory - 安全套接字工厂
      Returns:
      信任证书管理器
    • configureTlsExtensions

      public void configureTlsExtensions(SSLSocket sslSocket, String hostname, List<org.miaixz.bus.core.net.Protocol> protocols)
      sslSocket上为route配置TLS扩展
      Parameters:
      sslSocket - 套接字信息
      hostname - 客户端握手不为空;服务器端握手为空.
      protocols - 服务协议
    • afterHandshake

      public void afterHandshake(SSLSocket sslSocket)
      Parameters:
      sslSocket - 安全套接字
    • getSelectedProtocol

      public String getSelectedProtocol(SSLSocket socket)
      返回协商的协议,如果没有协商协议,则返回null
      Parameters:
      socket - 套接字
      Returns:
      协议
    • connectSocket

      public void connectSocket(Socket socket, InetSocketAddress address, int connectTimeout) throws IOException
      Throws:
      IOException
    • isCleartextTrafficPermitted

      public boolean isCleartextTrafficPermitted(String hostname)
    • getStackTraceForCloseable

      public Object getStackTraceForCloseable(String closer)
      返回一个对象,该对象持有在执行此方法时创建的堆栈跟踪。 用于CloseablelogCloseableLeak(String, Object)
      Parameters:
      closer - 闭合器
      Returns:
      返回一个对象
    • logCloseableLeak

      public void logCloseableLeak(String message, Object stackTrace)
    • buildCertificateChainCleaner

      public CertificateChainCleaner buildCertificateChainCleaner(X509TrustManager trustManager)
    • buildCertificateChainCleaner

      public CertificateChainCleaner buildCertificateChainCleaner(SSLSocketFactory sslSocketFactory)
    • buildTrustRootIndex

      public TrustRootIndex buildTrustRootIndex(X509TrustManager trustManager)
    • configureSslSocketFactory

      public void configureSslSocketFactory(SSLSocketFactory socketFactory)
    • toString

      public String toString()
      Overrides:
      toString in class Object