public class SslRMIClientSocketFactory extends Object implements RMIClientSocketFactory, Serializable
一个SslRMIClientSocketFactory实例由RMI运行时使用,以便通过SSL获取RMI调用的客户端套接字。
这个类实现RMIClientSocketFactory通过安全套接字层(SSL)或传输层安全(TLS)协议。
此类使用默认值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协议版本列表。
SSLSocketFactory , SslRMIServerSocketFactory , Serialized Form
| Constructor and Description |
|---|
SslRMIClientSocketFactory()
创建一个新的
SslRMIClientSocketFactory 。
|
public SslRMIClientSocketFactory()
创建一个新的SslRMIClientSocketFactory 。
public Socket createSocket(String host, int port) throws IOException
创建一个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错误
public boolean equals(Object obj)
指示一些其他对象是否等于此。
因为这个类的所有实例在功能上是等同的(它们都使用默认的SSLSocketFactory ),所以这个方法只返回this.getClass().equals(obj.getClass()) 。
一个子类应该覆盖这个方法(以及hashCode() ),如果它的实例并不都在功能上等同。
equals在类别
Object
obj - 与之比较的参考对象。
true如果该对象与obj参数相同;
false否则。
Object.hashCode() , HashMap
public int hashCode()
返回此SslRMIClientSocketFactory的哈希码值。
hashCode在类别
Object
SslRMIClientSocketFactory的哈希码值。
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.