- java.lang.Object
-
- javax.rmi.ssl.SslRMIServerSocketFactory
-
- 实现的所有接口
-
RMIServerSocketFactory
public class SslRMIServerSocketFactory extends Object implements RMIServerSocketFactory
RMI运行时使用
SslRMIServerSocketFactory实例,以便通过SSL获取RMI调用的服务器套接字。此类通过安全套接字层(SSL)或传输层安全性(TLS)协议实现
RMIServerSocketFactory。这个类创建使用默认的SSL套接字
SSLSocketFactory(见SSLSocketFactory.getDefault())或默认SSLServerSocketFactory(见SSLServerSocketFactory.getDefault()),除非构造服用SSLContext在使用被创建这种情况下,SSL套接字用于SSLSocketFactory通过返回SSLContext.getSocketFactory()或SSLServerSocketFactory通过返回SSLContext.getServerSocketFactory()。 如果未提供SSLContext则SSLContext所有实例共享相同的密钥库和相同的信任库(当服务器需要客户端身份验证时)。 可以通过提供已初始化的SSLContext实例来修改此行为。- 从以下版本开始:
- 1.5
- 另请参见:
-
SSLSocketFactory,SSLServerSocketFactory,SslRMIClientSocketFactory
-
-
构造方法摘要
构造方法 构造器 描述 SslRMIServerSocketFactory()使用默认SSL套接字配置创建新的SslRMIServerSocketFactory。SslRMIServerSocketFactory(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)使用指定的SSL套接字配置创建新的SslRMIServerSocketFactory。SslRMIServerSocketFactory(SSLContext context, String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)使用指定的SSLContext和SSL套接字配置创建新的SslRMIServerSocketFactory。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 ServerSocketcreateServerSocket(int port)创建一个服务器套接字,该套接字接受根据此工厂的SSL套接字配置参数配置的SSL连接。booleanequals(Object obj)指示某个其他对象是否“等于”此对象。String[]getEnabledCipherSuites()返回由此工厂创建的服务器套接字接受的SSL连接上启用的密码套件的名称,如果此工厂使用默认启用的密码套件,则null。String[]getEnabledProtocols()返回由此工厂创建的服务器套接字接受的SSL连接上启用的协议版本的名称,如果此工厂使用默认启用的协议版本,则null。booleangetNeedClientAuth()如果此工厂创建的服务器套接字接受的SSL连接需要客户端身份验证,则返回true。inthashCode()返回此SslRMIServerSocketFactory的哈希码值。
-
-
-
构造方法详细信息
-
SslRMIServerSocketFactory
public SslRMIServerSocketFactory()
使用默认的SSL套接字配置创建新的
SslRMIServerSocketFactory。此工厂创建的服务器套接字接受的SSL连接启用了默认密码套件和协议版本,不需要客户端身份验证。
-
SslRMIServerSocketFactory
public SslRMIServerSocketFactory(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth) throws IllegalArgumentException
使用指定的SSL套接字配置创建新的
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)
-
SslRMIServerSocketFactory
public SslRMIServerSocketFactory(SSLContext context, String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth) throws IllegalArgumentException
使用指定的
SSLContext和SSL套接字配置创建新的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参数不支持或者会遇到问题,而试图检查所提供的加密套件和支持要启用的协议。 - 从以下版本开始:
- 1.7
- 另请参见:
-
SSLSocket.setEnabledCipherSuites(java.lang.String[]),SSLSocket.setEnabledProtocols(java.lang.String[]),SSLSocket.setNeedClientAuth(boolean)
-
-
方法详细信息
-
getEnabledCipherSuites
public final String[] getEnabledCipherSuites()
返回由此工厂创建的服务器套接字接受的SSL连接上启用的密码套件的名称,如果此工厂使用默认启用的密码套件,则
null。- 结果
-
启用了一系列密码套件,或
null - 另请参见:
-
SSLSocket.setEnabledCipherSuites(java.lang.String[])
-
getEnabledProtocols
public final String[] getEnabledProtocols()
返回由此工厂创建的服务器套接字接受的SSL连接上启用的协议版本的名称,如果此工厂使用默认启用的协议版本,则
null。- 结果
-
启用的协议版本数组,或
null - 另请参见:
-
SSLSocket.setEnabledProtocols(java.lang.String[])
-
getNeedClientAuth
public final boolean getNeedClientAuth()
如果此工厂创建的服务器套接字接受的SSL连接需要客户端身份验证,则返回
true。- 结果
-
true如果需要客户端身份验证 - 另请参见:
-
SSLSocket.setNeedClientAuth(boolean)
-
createServerSocket
public ServerSocket createServerSocket(int port) throws IOException
创建一个服务器套接字,该套接字接受根据此工厂的SSL套接字配置参数配置的SSL连接。
- Specified by:
-
createServerSocket在界面RMIServerSocketFactory - 参数
-
port- 港口号码 - 结果
- 指定端口上的服务器套接字
- 异常
-
IOException- 如果在创建服务器套接字期间发生I / O错误
-
equals
public boolean equals(Object obj)
指示某个其他对象是否“等于”此对象。
如果两个
SslRMIServerSocketFactory对象使用相同的SSL上下文和SSL套接字配置参数构造,则它们是相等的。如果子类添加影响相等性的实例状态,则子类应重写此方法(以及
hashCode())。- 重写:
-
equals在类Object - 参数
-
obj- 要与之比较的引用对象。 - 结果
-
true如果此对象与obj参数相同; 否则为false。 - 另请参见:
-
Object.hashCode(),HashMap
-
hashCode
public int hashCode()
返回此
SslRMIServerSocketFactory的哈希码值。- 重写:
-
hashCode在类Object - 结果
-
此
SslRMIServerSocketFactory的哈希码值。 - 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
-