Module java.rmi
Package javax.rmi.ssl

Class SslRMIClientSocketFactory

java.lang.Object
javax.rmi.ssl.SslRMIClientSocketFactory
所有已实现的接口:
Serializable, RMIClientSocketFactory

public class SslRMIClientSocketFactory extends Object implements RMIClientSocketFactory, Serializable

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

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

此类使用默认的SSLSocketFactory创建SSL套接字(请参阅SSLSocketFactory.getDefault())。此类的所有实例在功能上是等效的。特别是,它们都共享相同的信任库,在服务器需要客户端身份验证时也共享相同的密钥库。可以通过覆盖createSocket(String,int)方法来修改子类中的此行为;在这种情况下,可能还需要覆盖equalshashCode

如果指定了系统属性javax.rmi.ssl.client.enabledCipherSuitescreateSocket(String,int)方法将在返回套接字之前调用SSLSocket.setEnabledCipherSuites(String[])。此系统属性的值是一个字符串,是要启用的SSL/TLS密码套件的逗号分隔列表。

如果指定了系统属性javax.rmi.ssl.client.enabledProtocolscreateSocket(String,int)方法将在返回套接字之前调用SSLSocket.setEnabledProtocols(String[])。此系统属性的值是一个字符串,是要启用的SSL/TLS协议版本的逗号分隔列表。

自版本:
1.5
参见:
  • Constructor Details

    • SslRMIClientSocketFactory

      public SslRMIClientSocketFactory()

      创建一个新的SslRMIClientSocketFactory

  • Method Details

    • createSocket

      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错误
    • equals

      public boolean equals(Object obj)

      表示某个其他对象是否与此对象“相等”。

      因为此类的所有实例在功能上是等效的(它们都使用默认的SSLSocketFactory),所以此方法只需返回this.getClass().equals(obj.getClass())

      如果其实例在功能上不都是等效的,则子类应该覆盖此方法(以及hashCode())。

      覆盖:
      equals 在类 Object
      参数:
      obj - 要比较的参考对象。
      返回:
      如果此对象与obj参数相同,则返回true;否则返回false
      参见:
    • hashCode

      public int hashCode()

      返回此SslRMIClientSocketFactory的哈希码值。

      覆盖:
      hashCode 在类 Object
      返回:
      SslRMIClientSocketFactory的哈希码值。
      参见: