- 所有已实现的接口:
-
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
-
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
的哈希码值。
-