public abstract class SSLSocketFactory extends SocketFactory
SSLSocketFactory
s创建
SSLSocket
s。
SSLSocket
Constructor and Description |
---|
SSLSocketFactory()
构造函数只被子类使用。
|
Modifier and Type | Method and Description |
---|---|
Socket |
createSocket(Socket s, InputStream consumed, boolean autoClose)
|
abstract Socket |
createSocket(Socket s, String host, int port, boolean autoClose)
返回一个套接字分层的一个现有的套接字连接到指定的主机,在给定的端口。
|
static SocketFactory |
getDefault()
返回默认的SSL套接字工厂。
|
abstract String[] |
getDefaultCipherSuites()
返回默认启用的密码列表列表。
|
abstract String[] |
getSupportedCipherSuites()
返回的密码套件可用于SSL连接启用的名字。
|
createSocket, createSocket, createSocket, createSocket, createSocket
public static SocketFactory getDefault()
第一次调用此方法,安全性“SSL。socketfactory。提供者”的研究。如果它是非空的,此名称的类加载和实例化。如果成功的话,对象是SSLSocketFactory的实例,这是默认的SSL套接字工厂。
否则,此方法返回SSLContext.getDefault().getSocketFactory()
。如果调用失败,返回一个无效的工厂。
SocketFactory
SSLContext.getDefault()
public abstract String[] getDefaultCipherSuites()
getSupportedCipherSuites()
public abstract String[] getSupportedCipherSuites()
getDefaultCipherSuites()
public abstract Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException
s
-现有的插座
host
-服务器主机
port
-服务器端口
autoClose
接近底层的socket套接字关闭时,这
IOException
-如果一个I / O错误创建套接字时
NullPointerException
如果参数为空
public Socket createSocket(Socket s, InputStream consumed, boolean autoClose) throws IOException
Socket
分层在现有的socket连接,并能够阅读已经消耗的
Socket
潜在的
InputStream
/删除数据。
这种方法可以通过一个服务器应用程序需要观察的入站数据但仍创造有效的SSL / TLS连接使用:例如,服务器名称指示检查(SNI)扩展(见TLS Extensions (RFC6066) 3段)。已经从底层InputStream
删除数据应装入consumed
流之前调用此方法,也许用ByteArrayInputStream
。当这Socket
开始握手,它会读取所有的数据在consumed
直到达到EOF
,然后进一步的数据读取从底层InputStream
如常。
返回的套接字配置使用了本厂的套接字选项,并设置为使用服务器模式时,握手(见SSLSocket.setUseClientMode(boolean)
)。
s
-现有的插座
consumed
-消耗的入站网络数据已经从现有的
Socket
InputStream
删除。这个参数可以
null
如果没有数据被删除。
autoClose
接近底层的socket套接字关闭时,这。
Socket
符合建立了该厂的套接字选项
IOException
-如果一个I / O错误创建套接字时
UnsupportedOperationException
-如果基础提供程序不执行操作
null
s
NullPointerException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.