java.lang.Object
javax.net.SocketFactory
javax.net.ssl.SSLSocketFactory
SSLSocketFactory s 创建 SSLSocket s。
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述createSocket(Socket s, InputStream consumed, boolean autoClose) abstract SocketcreateSocket(Socket s, String host, int port, boolean autoClose) 在给定端口返回一个套接字,该套接字位于连接到指定主机的现有套接字之上。static SocketFactory返回默认的 SSL 套接字工厂。abstract String[]返回默认启用的密码套件列表。abstract String[]返回可以在 SSL 连接上启用的密码套件的名称。在类 javax.net.SocketFactory 中声明的方法
createSocket, createSocket, createSocket, createSocket, createSocket
-
构造方法详细信息
-
SSLSocketFactory
public SSLSocketFactory()构造方法仅由子类使用。
-
-
方法详情
-
getDefault
返回默认的 SSL 套接字工厂。第一次调用此方法时,将检查安全属性“ssl.SocketFactory.provider”。如果它不为空,则加载并实例化具有该名称的类。如果成功并且该对象是 SSLSocketFactory 的一个实例,它将成为默认的 SSL 套接字工厂。
否则,此方法返回
SSLContext.getDefault().getSocketFactory()。如果该调用失败,则返回一个无效的工厂。- 返回:
-
默认
SocketFactory - 参见:
-
getDefaultCipherSuites
返回默认启用的密码套件列表。除非启用了不同的列表,否则 SSL 连接上的握手将使用这些密码套件之一。这些默认值的最低服务质量需要机密性保护和服务身份验证(即没有匿名密码套件)。返回的数组包括来自 Java 安全标准算法名称规范的 JSSE 密码套件名称 部分中的标准密码套件名称列表的密码套件,并且还可能包括提供程序支持的其他密码套件。
- 返回:
- 默认启用的密码套件数组
- 参见:
-
getSupportedCipherSuites
返回可以在 SSL 连接上启用的密码套件的名称。通常,默认情况下实际上只会启用其中的一个子集,因为此list可能包含不满足这些默认值的服务质量要求的密码套件。这样的密码套件在专门的应用程序中很有用。返回的数组包括来自 Java 安全标准算法名称规范的 JSSE 密码套件名称 部分中的标准密码套件名称列表的密码套件,并且还可能包括提供程序支持的其他密码套件。
- 返回:
- 一组密码套件名称
- 参见:
-
createSocket
public abstract Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException 在给定端口返回一个套接字,该套接字位于连接到指定主机的现有套接字之上。当通过代理隧道传输 SSL 或协商通过现有套接字使用 SSL 时,可以使用此构造方法。主机和端口指的是逻辑对等目的地。这个套接字是使用为这个工厂建立的套接字选项配置的。- 参数:
s- 现有套接字host- 服务主机port- 服务端口autoClose- 关闭此套接字时关闭底层套接字- 返回:
- 连接到指定主机和端口的套接字
- 抛出:
IOException- 如果在创建套接字时发生 I/O 错误NullPointerException- 如果参数 s 为 null
-
createSocket
创建一个服务模式Socket分层在现有连接的套接字上,并且能够读取已经从Socket的底层InputStream消耗/删除的数据。需要观察入站数据但仍创建有效 SSL/TLS 连接的服务应用程序可以使用此方法:例如,检查服务名称指示 (SNI) 扩展(请参阅 TLS 扩展 (RFC6066) 的第 3 节)。已经从底层
InputStream中删除的数据应该在调用此方法之前加载到consumed流中,可能使用ByteArrayInputStream。当这个Socket开始握手时,它将读取consumed中的所有数据,直到它到达EOF,然后像往常一样从底层InputStream读取所有进一步的数据。返回的套接字使用为此工厂建立的套接字选项进行配置,并设置为在握手时使用服务模式(请参阅
SSLSocket.setUseClientMode(boolean))。- 参数:
s- 现有套接字consumed- 已从现有SocketInputStream中删除的消耗的入站网络数据。如果没有数据被删除,这个参数可能是null。autoClose- 关闭此套接字时关闭底层套接字。- 返回:
Socket符合为该工厂建立的套接字选项- 抛出:
IOException- 如果在创建套接字时发生 I/O 错误UnsupportedOperationException- 如果底层提供者没有实现操作NullPointerException- 如果s是null- 自从:
- 1.8
-