- 所有已实现的接口:
Serializable
,RMIClientSocketFactory
RMI 运行时使用 SslRMIClientSocketFactory
实例,以便通过 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
- 参见:
-
构造方法总结
构造方法 -
方法总结
-
构造方法详细信息
-
SslRMIClientSocketFactory
public SslRMIClientSocketFactory()创建一个新的
SslRMIClientSocketFactory
。
-
-
方法详情
-
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
的哈希码值。
-