JavaTM Platform
Standard Ed. 6

javax.rmi.ssl
类 SslRMIServerSocketFactory

java.lang.Object
  继承者 javax.rmi.ssl.SslRMIServerSocketFactory
所有已实现的接口:
RMIServerSocketFactory

public class SslRMIServerSocketFactory
     
extends Object
implements RMIServerSocketFactory

SslRMIServerSocketFactory 实例由 RMI 运行时使用,以便通过 SSL 获取 RMI 调用的服务端套接字。

此类通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议实现 RMIServerSocketFactory

此类使用默认的 SSLSocketFactory(请参阅 SSLSocketFactory.getDefault())或默认的 SSLServerSocketFactory(请参阅 SSLServerSocketFactory.getDefault())创建 SSL 套接字。因此,在服务器要求客户机进行验证时,此类的所有实例共享相同的密钥存储区和相同的信任存储区。在子类中通过重写 createServerSocket(int) 方法可以修改此行为;在此情况下,equalshashCode 可能也需要重写。

从以下版本开始:
1.5
另请参见:
SSLSocketFactory, SSLServerSocketFactory, SslRMIClientSocketFactory

构造方法摘要
SslRMIServerSocketFactory()
          使用默认的 SSL 套接字配置创建一个新的 SslRMIServerSocketFactory
SslRMIServerSocketFactory(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)
          使用指定的 SSL 套接字配置创建一个新的 SslRMIServerSocketFactory
 
方法摘要
 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 的哈希码值。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

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)
方法详细信息

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 连接。

指定者:
接口 RMIServerSocketFactory 中的 createServerSocket
参数:
port - 端口号
返回:
指定端口上的服务器套接字
抛出:
IOException - 如果在服务器套接字创建过程中发生 I/O 错误

equals

public boolean equals(Object obj)

指示某个其他对象是否“等于”此对象。

如果两个 SslRMIServerSocketFactory 对象使用了相同的 SSL 套接字配置参数构造,则这两个对象相等。

如果子类添加了影响相等性的实例状态,则该子类应重写此方法以及 hashCode()

覆盖:
Object 中的 equals
参数:
obj - 要与之比较的引用对象。
返回:
如果此对象与 obj 参数相同,则返回 true;否则返回 false
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()

返回此 SslRMIServerSocketFactory 的哈希码值。

覆盖:
Object 中的 hashCode
返回:
SslRMIServerSocketFactory 的哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策