模块  java.rmi
软件包  javax.rmi.ssl

Class SslRMIServerSocketFactory

    • 构造方法摘要

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

      • 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

        使用指定的SSLContext和SSL套接字配置创建新的SslRMIServerSocketFactory

        参数
        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() )。

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