public class SslRMIServerSocketFactory extends Object implements RMIServerSocketFactory
一个SslRMIServerSocketFactory
实例通过RMI运行时用来获得RMI服务器通过SSL套接字调用。
这个类实现了RMIServerSocketFactory
通过安全套接字层(SSL)和传输层安全(TLS)协议。
这类创建SSL套接字使用默认的SSLSocketFactory
(见SSLSocketFactory.getDefault()
)或默认SSLServerSocketFactory
(见SSLServerSocketFactory.getDefault()
)除非构造函数以SSLContext
是用在这种情况下,SSL套接字使用SSLSocketFactory
创建返回SSLContext.getSocketFactory()
或SSLServerSocketFactory
返回SSLContext.getServerSocketFactory()
。当一个SSLContext
不提供该类的所有实例共享相同的密钥库,和相同的信任库(当客户端身份验证服务器要求的)。这种行为可以通过提供一个已初始化的SSLContext
实例修改。
SSLSocketFactory
,
SSLServerSocketFactory
,
SslRMIClientSocketFactory
Constructor and Description |
---|
SslRMIServerSocketFactory()
创建具有默认SSL Socket配置一个新的
SslRMIServerSocketFactory 。
|
SslRMIServerSocketFactory(SSLContext context, String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)
创建具有指定
SSLContext 和SSL Socket配置一个新的
SslRMIServerSocketFactory 。
|
SslRMIServerSocketFactory(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)
创建具有指定SSL Socket配置一个新的
SslRMIServerSocketFactory 。
|
Modifier and Type | Method and Description |
---|---|
ServerSocket |
createServerSocket(int port)
创建服务器套接字接受SSL连接配置,根据该厂的SSL套接字配置参数。
|
boolean |
equals(Object obj)
指示是否有其他对象“等于”这一个。
|
String[] |
getEnabledCipherSuites()
返回对SSL连接的服务器套接字创建启用本厂接受的密码套件的名称,或
null 如果本厂使用的是默认启用的密码套件。
|
String[] |
getEnabledProtocols()
返回的名称的协议版本的SSL连接的服务器套接字创建启用本厂接受,或
null 如果本厂使用的是默认启用的协议版本。
|
boolean |
getNeedClientAuth()
返回
true 如果是SSL连接的服务器套接字由本厂创建接受要求客户端身份验证。
|
int |
hashCode()
返回此
SslRMIServerSocketFactory 哈希代码值。
|
public SslRMIServerSocketFactory()
创建具有默认SSL Socket配置一个新的SslRMIServerSocketFactory
。
SSL连接的服务器套接字接受本厂创建有默认的密码套件和协议版本启用不需要客户端身份验证。
public SslRMIServerSocketFactory(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth) throws IllegalArgumentException
创建具有指定SSL Socket配置一个新的SslRMIServerSocketFactory
。
enabledCipherSuites
名称的所有密码套件对SSL连接的服务器套接字由本厂创建接受使,或
null
使用的是默认启用的密码套件
enabledProtocols
名称的所有协议版本的SSL连接上的服务器套接字由本厂创建接受使,或
null
使用的是默认启用的协议版本
needClientAuth
-
true
要求SSL连接的服务器套接字由本厂创建接受客户端认证;
false
不要求客户端身份验证
IllegalArgumentException
-当一个或更多的密码套件的
enabledCipherSuites
参数命名是不支持的,当一个或更多的协议由
enabledProtocols
参数命名不支持或当问题而试图检查提供的密码套件和协议能够支持遇到。
SSLSocket.setEnabledCipherSuites(java.lang.String[])
,
SSLSocket.setEnabledProtocols(java.lang.String[])
,
SSLSocket.setNeedClientAuth(boolean)
public SslRMIServerSocketFactory(SSLContext context, String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth) throws IllegalArgumentException
创建具有指定SSLContext
和SSL Socket配置一个新的SslRMIServerSocketFactory
。
context
- SSL上下文用来创建SSL套接字。如果
context
是无效的默认
SSLSocketFactory
或默认
SSLServerSocketFactory
将用于创建SSL套接字。否则,返回的套接字工厂
SSLContext.getSocketFactory()
或
SSLContext.getServerSocketFactory()
将代替。
enabledCipherSuites
名称的所有密码套件对SSL连接的服务器套接字由本厂创建接受使,或
null
使用的是默认启用的密码套件
enabledProtocols
名称的所有协议版本的SSL连接上的服务器套接字由本厂创建接受使,或
null
使用的是默认启用的协议版本
needClientAuth
-
true
要求SSL连接的服务器套接字由本厂创建接受客户端认证;
false
不要求客户端身份验证
IllegalArgumentException
-当一个或更多的密码套件的
enabledCipherSuites
参数命名是不支持的,当一个或更多的协议由
enabledProtocols
参数命名不支持或当问题而试图检查提供的密码套件和协议能够支持遇到。
SSLSocket.setEnabledCipherSuites(java.lang.String[])
,
SSLSocket.setEnabledProtocols(java.lang.String[])
,
SSLSocket.setNeedClientAuth(boolean)
public final String[] getEnabledCipherSuites()
返回对SSL连接的服务器套接字创建启用本厂接受的密码套件的名称,或null
如果本厂使用的是默认启用的密码套件。
null
SSLSocket.setEnabledCipherSuites(java.lang.String[])
public final String[] getEnabledProtocols()
返回的名称的协议版本的SSL连接的服务器套接字创建启用本厂接受,或null
如果本厂使用的是默认启用的协议版本。
null
SSLSocket.setEnabledProtocols(java.lang.String[])
public final boolean getNeedClientAuth()
返回true
如果是SSL连接的服务器套接字由本厂创建接受要求客户端身份验证。
true
如果客户需要认证
SSLSocket.setNeedClientAuth(boolean)
public ServerSocket createServerSocket(int port) throws IOException
创建服务器套接字接受SSL连接配置,根据该厂的SSL套接字配置参数。
createServerSocket
接口
RMIServerSocketFactory
port
-端口号
IOException
-如果服务器创建套接字时发生I/O错误
public boolean equals(Object obj)
指示是否有其他对象“等于”这一个。
如果他们有相同的SSL上下文和SSL套接字配置参数,构建了两SslRMIServerSocketFactory
对象是相等的。
子类必须重写此方法(以及hashCode()
)如果它增加了实例状态影响平等。
equals
方法重写,继承类
Object
obj
-参考对象的比较。
true
obj参数相同;
false
否则。
Object.hashCode()
,
HashMap
public int hashCode()
返回此SslRMIServerSocketFactory
哈希代码值。
hashCode
方法重写,继承类
Object
SslRMIServerSocketFactory
哈希代码值。
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
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.