Module  java.rmi
软件包  javax.rmi.ssl

Class SslRMIServerSocketFactory

    • 构造方法摘要

      构造方法  
      Constructor 描述
      SslRMIServerSocketFactory​()
      创建一个新的 SslRMIServerSocketFactory与默认SSL套接字配置。
      SslRMIServerSocketFactory​(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)
      使用指定的SSL套接字配置创建一个新的 SslRMIServerSocketFactory
      SslRMIServerSocketFactory​(SSLContext context, String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)
      创建一个新的 SslRMIServerSocketFactory与指定的 SSLContext和SSL套接字配置。
    • 构造方法详细信息

      • SslRMIServerSocketFactory

        public SslRMIServerSocketFactory​()

        使用默认的SSL套接字配置创建一个新的SslRMIServerSocketFactory

        由本厂创建的服务器套接字接受的SSL连接启用了默认密码套件和协议版本,不需要客户端认证。

      • SslRMIServerSocketFactory

        public SslRMIServerSocketFactory​(String[] enabledCipherSuites,
                                         String[] enabledProtocols,
                                         boolean needClientAuth)
                                  throws IllegalArgumentException

        使用指定的SSL套接字配置创建一个新的SslRMIServerSocketFactory

        参数
        enabledCipherSuites - 由本厂创建的服务器套接字接受的SSL连接上启用的所有密码套件的名称,或 null使用默认启用的密码套件
        enabledProtocols - 由本厂创建的服务器套接字接受的SSL连接上启用的所有协议版本的名称,或 null使用默认启用的协议版本
        needClientAuth - true要求在由本工厂创建的服务器套接字接受的SSL连接上进行客户端认证; false不要求客户端认证
        异常
        IllegalArgumentException -当一个或多个被命名的密码套件 enabledCipherSuites参数不被支持,当一个或多个被命名的协议 enabledProtocols参数不支持或者会遇到问题,而试图检查所提供的加密套件和支持启用协议。
        另请参见:
        SSLSocket.setEnabledCipherSuites(java.lang.String[])SSLSocket.setEnabledProtocols(java.lang.String[])SSLSocket.setNeedClientAuth(boolean)
      • SslRMIServerSocketFactory

        public SslRMIServerSocketFactory​(SSLContext context,
                                         String[] enabledCipherSuites,
                                         String[] enabledProtocols,
                                         boolean needClientAuth)
                                  throws IllegalArgumentException

        创建一个新的SslRMIServerSocketFactory与指定的SSLContext和SSL套接字配置。

        参数
        context - 用于创建SSL套接字的SSL上下文。 如果context为空,默认SSLSocketFactory或默认SSLServerSocketFactory将用于创建SSL套接字。 否则,将使用SSLContext.getSocketFactory()SSLContext.getServerSocketFactory()返回的插座工厂。
        enabledCipherSuites - 由本厂创建的服务器套接字接受的SSL连接上启用的所有密码套件的名称,或 null使用默认启用的密码套件
        enabledProtocols - 由本厂创建的服务器套接字所接受的SSL连接上启用的所有协议版本的名称,或 null使用默认启用的协议版本
        needClientAuth - true要求由本工厂创建的服务器套接字接受的SSL连接进行客户端认证; false不要求客户端认证
        异常
        IllegalArgumentException -当一个或多个被命名的密码套件 enabledCipherSuites参数不被支持,当一个或多个被命名的协议 enabledProtocols参数不支持或者会遇到问题,而试图检查所提供的加密套件和支持启用协议。
        从以下版本开始:
        1.7
        另请参见:
        SSLSocket.setEnabledCipherSuites(java.lang.String[])SSLSocket.setEnabledProtocols(java.lang.String[])SSLSocket.setNeedClientAuth(boolean)
    • 方法详细信息

      • getEnabledCipherSuites

        public final String[] getEnabledCipherSuites​()

        返回由此工厂创建的服务器套接字接受的SSL连接启用的密码套件的名称,如果此工厂使用默认启用的密码套件,则null

        结果
        启用了一系列密码套件,或者是 null
        另请参见:
        SSLSocket.setEnabledCipherSuites(java.lang.String[])
      • getEnabledProtocols

        public final String[] getEnabledProtocols​()

        返回由此工厂创建的服务器套接字接受的SSL连接启用的协议版本的名称,如果此工厂使用默认启用的协议版本,则null

        结果
        启用协议版本的阵列,或 null
        另请参见:
        SSLSocket.setEnabledProtocols(java.lang.String[])
      • getNeedClientAuth

        public final boolean getNeedClientAuth​()

        如果在此工厂创建的服务器套接字所接受的SSL连接上需要客户端验证,则返回true

        结果
        true如果需要客户端认证
        另请参见:
        SSLSocket.setNeedClientAuth(boolean)
      • createServerSocket

        public ServerSocket createServerSocket​(int port)
                                        throws IOException

        创建一个服务器套接字,接受根据本工厂的SSL套接字配置参数配置的SSL连接。

        Specified by:
        createServerSocket在接口 RMIServerSocketFactory
        参数
        port - 端口号
        结果
        指定端口上的服务器套接字
        异常
        IOException - 如果在创建服务器套接字期间发生I / O错误
      • equals

        public boolean equals​(Object obj)

        指示一些其他对象是否等于此。

        两个SslRMIServerSocketFactory对象如果已经使用相同的SSL上下文和SSL套接字配置参数构造,则相等。

        如果子类添加影响相等性的实例状态,则应该覆盖此方法(以及hashCode() )。

        重写:
        equalsObject
        参数
        obj - 与之比较的参考对象。
        结果
        如果此对象与obj参数相同, true ; 否则为false
        另请参见:
        Object.hashCode()HashMap