public class SslRMIServerSocketFactory extends Object implements RMIServerSocketFactory
一个SslRMIServerSocketFactory实例由RMI运行时使用,以通过SSL获得用于RMI调用的服务器套接字。
这个类实现RMIServerSocketFactory通过安全套接字层(SSL)或传输层安全(TLS)协议。
除非使用SSLContext的SSLContext ,否则使用默认值SSLSocketFactory (请参阅SSLSocketFactory.getDefault() )或默认值SSLServerSocketFactory (请参阅88502243897861 )创建SSL套接字,在这种情况下,使用SSLSocketFactory返回的SSLSocketFactory或SSLServerSocketFactory返回的SSLServerSocketFactory创建SSL套接字。 当SSLContext不供给的这个类共享所有的实例相同的密钥库,和相同的信任(当由服务器所需的客户端身份验证)。 可以通过提供已初始化的SSLContext实例来修改此行为。
SSLSocketFactory , SSLServerSocketFactory , SslRMIClientSocketFactory
| Constructor and Description |
|---|
SslRMIServerSocketFactory()
创建一个新的
SslRMIServerSocketFactory与默认的SSL套接字配置。
|
SslRMIServerSocketFactory(SSLContext context, String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)
创建一个新的
SslRMIServerSocketFactory与指定的
SSLContext和SSL套接字配置。
|
SslRMIServerSocketFactory(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)
创建一个新
SslRMIServerSocketFactory使用指定的SSL套接字配置。
|
| 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()
如果在此工厂创建的服务器套接字所接受的SSL连接上需要客户端验证,则返回
true 。
|
int |
hashCode()
返回此
SslRMIServerSocketFactory的哈希码值。
|
public SslRMIServerSocketFactory()
创建一个新的SslRMIServerSocketFactory与默认SSL套接字配置。
由本厂创建的服务器套接字接受的SSL连接启用默认的密码套件和协议版本,不需要客户端认证。
public SslRMIServerSocketFactory(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth) throws IllegalArgumentException
创建一个新SslRMIServerSocketFactory使用指定的SSL套接字配置。
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
创建一个新的SslRMIServerSocketFactory与指定的SSLContext和SSL套接字配置。
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()
如果在此工厂创建的服务器套接字所接受的SSL连接上需要客户端验证,则返回true 。
true如果需要客户端身份验证
SSLSocket.setNeedClientAuth(boolean)
public ServerSocket createServerSocket(int port) throws IOException
创建一个服务器套接字,接受根据本工厂的SSL套接字配置参数配置的SSL连接。
createServerSocket在界面
RMIServerSocketFactory
port - 端口号
IOException - 如果在创建服务器套接字期间发生I / O错误
public boolean equals(Object obj)
指示一些其他对象是否等于此。
如果两个SslRMIServerSocketFactory对象使用相同的SSL上下文和SSL套接字配置参数构造,则相等。
一个子类应该覆盖这个方法(以及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.