- 所有已实现的接口:
-
Serializable,RMIClientSocketFactory
SslRMIClientSocketFactory实例由RMI运行时使用,以便通过SSL获取RMI调用的客户端套接字。
此类通过安全套接字层(SSL)或传输层安全性(TLS)协议实现RMIClientSocketFactory。
此类使用默认的SSLSocketFactory创建SSL套接字(请参阅SSLSocketFactory.getDefault())。此类的所有实例在功能上是等效的。特别是,它们都共享相同的信任库,在服务器需要客户端身份验证时也共享相同的密钥库。可以通过覆盖createSocket(String,int)方法来修改子类中的此行为;在这种情况下,可能还需要覆盖equals和hashCode。
如果指定了系统属性javax.rmi.ssl.client.enabledCipherSuites,createSocket(String,int)方法将在返回套接字之前调用SSLSocket.setEnabledCipherSuites(String[])。此系统属性的值是一个字符串,是要启用的SSL/TLS密码套件的逗号分隔列表。
如果指定了系统属性javax.rmi.ssl.client.enabledProtocols,createSocket(String,int)方法将在返回套接字之前调用SSLSocket.setEnabledProtocols(String[])。此系统属性的值是一个字符串,是要启用的SSL/TLS协议版本的逗号分隔列表。
- 自版本:
- 1.5
- 参见:
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
SslRMIClientSocketFactory
public SslRMIClientSocketFactory()创建一个新的
SslRMIClientSocketFactory。
-
-
Method Details
-
createSocket
创建一个SSL套接字。
如果指定了系统属性
javax.rmi.ssl.client.enabledCipherSuites,此方法将在返回套接字之前调用SSLSocket.setEnabledCipherSuites(String[])。此系统属性的值是一个字符串,是要启用的SSL/TLS密码套件的逗号分隔列表。如果指定了系统属性
javax.rmi.ssl.client.enabledProtocols,此方法将在返回套接字之前调用SSLSocket.setEnabledProtocols(String[])。此系统属性的值是一个字符串,是要启用的SSL/TLS协议版本的逗号分隔列表。- 指定者:
-
createSocket在接口RMIClientSocketFactory - 参数:
-
host- 主机名 -
port- 端口号 - 返回:
- 连接到指定主机和端口的套接字。
- 抛出:
-
IOException- 如果在套接字创建过程中发生I/O错误
-
equals
表示某个其他对象是否与此对象“相等”。
因为此类的所有实例在功能上是等效的(它们都使用默认的
SSLSocketFactory),所以此方法只需返回this.getClass().equals(obj.getClass())。如果其实例在功能上不都是等效的,则子类应该覆盖此方法(以及
hashCode())。 -
hashCode
public int hashCode()返回此
SslRMIClientSocketFactory的哈希码值。
-