モジュール java.rmi
パッケージ javax.rmi.ssl

クラスSslRMIServerSocketFactory

  • すべての実装されたインタフェース:
    RMIServerSocketFactory


    public class SslRMIServerSocketFactory
    extends Object
    implements RMIServerSocketFactory

    SslRMIServerSocketFactoryインスタンスは、SSL経由のRMI呼出しに使用するサーバー・ソケットを取得するため、RMIランタイムによって使用されます。

    このクラスは、Secure Sockets Layer (SSL)プロトコル、またはTransport Layer Security (TLS)プロトコルでRMIServerSocketFactoryを実装します。

    このクラスは、デフォルトのSSLSocketFactory (SSLSocketFactory.getDefault()を参照)、またはデフォルトのSSLServerSocketFactory (SSLServerSocketFactory.getDefault()を参照)を使用してSSLソケットを作成します。ただし、SSLContextを取るコンストラクタが使用される場合を除き、この場合は、SSLContext.getSocketFactory()によって返されるSSLSocketFactory、またはSSLContext.getServerSocketFactory()によって返されるSSLServerSocketFactoryを使用してSSLソケットが作成されます。 SSLContextを指定しないと、このクラスのすべてのインスタンスが同じキーストアおよび同じトラストストアを共有します(サーバーでクライアント認証が必要とされるとき)。 この動作は、初期化済のSSLContextインスタンスを指定することで変更できます。

    導入されたバージョン:
    1.5
    関連項目:
    SSLSocketFactorySSLServerSocketFactorySslRMIClientSocketFactory
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      SslRMIServerSocketFactory​()
      デフォルトのSSLソケット構成で、新しいSslRMIServerSocketFactoryを作成します。
      SslRMIServerSocketFactory​(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)
      指定されたSSLソケット構成で、新しいSslRMIServerSocketFactoryを作成します。
      SslRMIServerSocketFactory​(SSLContext context, String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth)
      指定されたSSLContextとSSLソケット構成で、新しいSslRMIServerSocketFactoryを作成します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      ServerSocket createServerSocket​(int port)
      このファクトリのSSLソケット構成パラメータに従って構成されたSSL接続を受け入れるサーバー・ソケットを作成します。
      boolean equals​(Object obj)
      このオブジェクトとほかのオブジェクトが等しいかどうかを示します。
      String[] getEnabledCipherSuites​()
      このファクトリによって作成されたサーバー・ソケットが受け入れる、SSL接続上で有効化される暗号化方式群の名前を返します。このファクトリがデフォルトで有効化されている暗号化方式群を使用する場合はnullを返します。
      String[] getEnabledProtocols​()
      このファクトリによって作成されたサーバー・ソケットが受け入れる、SSL接続上で有効化されるプロトコルの名前を返します。このファクトリがデフォルトで有効化されているプロトコルを使用する場合はnullを返します。
      boolean getNeedClientAuth​()
      このファクトリによって作成されたサーバー・ソケットが受け入れるSSL接続上でクライアント認証が必要な場合はtrueを返します。
      int hashCode​()
      この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 - このファクトリによって作成されたサーバー・ソケットが受け入れるSSL接続上でクライアント認証が必要な場合はtrue、そうでない場合はfalse
        例外:
        IllegalArgumentException - enabledCipherSuitesパラメータで指定された暗号化方式群のうちサポートされないものが1つ以上ある場合、enabledProtocolsパラメータで指定されたプロトコルのうちサポートされないものが1つ以上ある場合、または有効化の対象として指定された暗号化方式群およびプロトコルがサポートされるかどうかをチェックしているときに問題が発生した場合。
        関連項目:
        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がnullの場合は、デフォルトのSSLSocketFactory、またはデフォルトのSSLServerSocketFactoryを使用してSSLソケットが作成される。 それ以外の場合は、SSLContext.getSocketFactory()またはSSLContext.getServerSocketFactory()によって返されるソケット・ファクトリが使用される。
        enabledCipherSuites - このファクトリによって作成されたサーバー・ソケットが受け入れる、SSL接続上で有効化されるすべての暗号化方式群の名前。デフォルトで有効化されている暗号化方式群を使用する場合はnull
        enabledProtocols - このファクトリによって作成されたサーバー・ソケットが受け入れる、SSL接続上で有効化されるすべてのプロトコルの名前。デフォルトで有効化されているプロトコルを使用する場合はnull
        needClientAuth - このファクトリによって作成されたサーバー・ソケットが受け入れるSSL接続上でクライアント認証が必要な場合はtrue、そうでない場合はfalse
        例外:
        IllegalArgumentException - enabledCipherSuitesパラメータで指定された暗号化方式群のうちサポートされないものが1つ以上ある場合、enabledProtocolsパラメータで指定されたプロトコルのうちサポートされないものが1つ以上ある場合、または有効化の対象として指定された暗号化方式群およびプロトコルがサポートされるかどうかをチェックしているときに問題が発生した場合。
        導入されたバージョン:
        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接続を受け入れるサーバー・ソケットを作成します。

        定義:
        createServerSocket、インタフェース: RMIServerSocketFactory
        パラメータ:
        port - ポート番号
        戻り値:
        指定されたポートのサーバー・ソケット
        例外:
        IOException - サーバー・ソケットの作成時に入出力エラーが発生した場合
      • equals

        public boolean equals​(Object obj)

        このオブジェクトとほかのオブジェクトが等しいかどうかを示します。

        同じSSLコンテキストおよびSSLソケット構成パラメータで構成されている2つのSslRMIServerSocketFactoryオブジェクトは等価です。

        等価性に影響を及ぼすインスタンス状態を追加する場合、サブクラスはこのメソッド(およびhashCode())をオーバーライドするべきです。

        オーバーライド:
        equals、クラス: Object
        パラメータ:
        obj - 比較対象の参照オブジェクト。
        戻り値:
        このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
        関連項目:
        Object.hashCode()HashMap