|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.net.ServerSocket javax.net.ssl.SSLServerSocket
public abstract class SSLServerSocket
このクラスは ServerSocket
を拡張し、Secure Sockets Layer (SSL) や Transport Layer Security (TLS) などのプロトコルを使用するセキュアサーバソケットを提供します。
このクラスのインスタンスを作成するときは、通常、SSLServerSocketFactory
を使用します。SSLServerSocket
は、接続を accept
して SSLSocket
を作成します。
SSLServerSocket
の一部の状態データは、作成される SSLSocket
に継承されます。たとえば、有効になっている符号化方式とプロトコル、クライアント認証が必要かどうか、このソケットがハンドシェークを開始するときのモード (クライアントモードまたはサーバモード)、などの情報が継承されます。作成された SSLSocket
に継承された状態は、対応するメソッドを呼び出してオーバーライドできます。
ServerSocket
,
SSLSocket
コンストラクタの概要 | |
---|---|
protected |
SSLServerSocket()
サブクラスだけで使用されます。 |
protected |
SSLServerSocket(int port)
サブクラスだけで使用されます。 |
protected |
SSLServerSocket(int port,
int backlog)
サブクラスだけで使用されます。 |
protected |
SSLServerSocket(int port,
int backlog,
InetAddress address)
サブクラスだけで使用されます。 |
メソッドの概要 | |
---|---|
abstract String[] |
getEnabledCipherSuites()
新しく受け入れた接続で現在使用可能になっている符号化方式のリストを返します。 |
abstract String[] |
getEnabledProtocols()
新しく受け入れた接続で現在使用可能になっているプロトコル名を返します。 |
abstract boolean |
getEnableSessionCreation()
このサーバソケットから作成されたソケットで、新しい SSL セッションを確立する場合は true を返します。 |
abstract boolean |
getNeedClientAuth()
新しく受け入れた サーバモードの SSLSocket 上でクライアント認証が「必須」の場合、true を返します。 |
abstract String[] |
getSupportedCipherSuites()
SSL 接続で使用可能にする符号化方式の名前を返します。 |
abstract String[] |
getSupportedProtocols()
使用可能にできるプロトコルの名前を返します。 |
abstract boolean |
getUseClientMode()
受け入れた接続が SSL クライアントモードになる場合は true を返します。 |
abstract boolean |
getWantClientAuth()
新しく受け入れたサーバモードの接続上でクライアント認証が「要求」される場合、true を返します。 |
abstract void |
setEnabledCipherSuites(String[] suites)
受け入れられた接続で使用可能な符号化方式を設定します。 |
abstract void |
setEnabledProtocols(String[] protocols)
受け入れた接続で使用可能なプロトコルを制御します。 |
abstract void |
setEnableSessionCreation(boolean flag)
このサーバソケットから作成されたソケットで、新しい SSL セッションを確立するかどうかを制御します。 |
abstract void |
setNeedClientAuth(boolean need)
受け入れた サーバモードの SSLSockets で、クライアント認証が「必須」とされるように初期設定するかどうかを制御します。 |
abstract void |
setUseClientMode(boolean mode)
受け入れた接続がデフォルトで SSL サーバモードになるか、SSL クライアントモードになるかを制御します。 |
abstract void |
setWantClientAuth(boolean want)
受け入れた サーバモードの SSLSockets が、クライアント認証を「要求」するように初期設定するかどうかを制御します。 |
クラス java.net.ServerSocket から継承されたメソッド |
---|
accept, bind, bind, close, getChannel, getInetAddress, getLocalPort, getLocalSocketAddress, getReceiveBufferSize, getReuseAddress, getSoTimeout, implAccept, isBound, isClosed, setPerformancePreferences, setReceiveBufferSize, setReuseAddress, setSocketFactory, setSoTimeout, toString |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
protected SSLServerSocket() throws IOException
デフォルトの認証コンテキストを使用して、バインドされていない TCP サーバソケットを作成します。
IOException
- ソケットの作成中に入出力エラーが発生した場合protected SSLServerSocket(int port) throws IOException
デフォルトの認証コンテキストを使用して、ポート上に TCP サーバソケットを作成します。キューに格納される接続バックログの最大数は、デフォルトで 50 に設定されています。キュー内の接続要求が最大数を超えると、新しい接続要求は拒否されます。
port
- 待機するポート
IOException
- ソケットの作成中に入出力エラーが発生した場合protected SSLServerSocket(int port, int backlog) throws IOException
デフォルトの認証コンテキストと、指定された接続バックログを使用して、ポート上に TCP サーバソケットを作成します。
port
- 待機するポートbacklog
- 最大保留接続数。この接続数を超えると、新しい要求が拒否される
IOException
- ソケットの作成中に入出力エラーが発生した場合protected SSLServerSocket(int port, int backlog, InetAddress address) throws IOException
デフォルトの認証コンテキスト、指定された接続バックログ、および指定されたネットワークインタフェースを使用して、ポート上に TCP サーバソケットを作成します。このコンストラクタは、ファイアウォールやルータとして使用されるマルチホームホスト上で使用され、ネットワークサービスを提供するインタフェースを制御します。
port
- 待機するポートbacklog
- 最大保留接続数。この接続数を超えると、新しい要求が拒否されるaddress
- 接続を受け入れるネットワークインタフェースのアドレス
IOException
- ソケットの作成中に入出力エラーが発生した場合メソッドの詳細 |
---|
public abstract String[] getEnabledCipherSuites()
このリストが明示的に変更されていない場合は、システムデフォルトにより、使用可能なすべての符号化方式で、最小限のサービス品質が保証されます。
実際に使用する符号化方式は、要件に応じて適切に選択してください。たとえば、サーバソケットがなんらかの認証を要求するように設定されているときに、符号化方式で使用できる非公開鍵がサーバソケットに割り当てられていない場合、または符号化方式が匿名であるためクライアント認証を使用できない場合、それらの符号化方式は実際には使用できません。
getSupportedCipherSuites()
,
setEnabledCipherSuites(String [])
public abstract void setEnabledCipherSuites(String[] suites)
符号化方式は、getSupportedCipherSuites() により、サポート対象としてリストされていなければなりません。このメソッドの呼び出しが正常に行われたとき、suites
パラメータにリストされた符号化方式のみ、使用することができます。
この ServerSocket の認証コンテキストで使用できない認証情報を要求する符号化方式は、たとえ有効になっていても使用されません。
accept()
から返される SSLSocket
は、この設定を継承します。
suites
- 使用可能にするすべての符号化方式の名前
IllegalArgumentException
- パラメータに指定された符号化方式の一部がサポートされない場合、またはパラメータが null の場合getSupportedCipherSuites()
,
getEnabledCipherSuites()
public abstract String[] getSupportedCipherSuites()
通常、デフォルトで実際に有効になっているのは、これらのサブセットのみです。このリストには、デフォルトのサービス品質の要件を満たさない符号化方式が含まれているからです。こうした符号化方式は、特殊なアプリケーションで利用されます。
getEnabledCipherSuites()
,
setEnabledCipherSuites(String [])
public abstract String[] getSupportedProtocols()
getEnabledProtocols()
,
setEnabledProtocols(String [])
public abstract String[] getEnabledProtocols()
getSupportedProtocols()
,
setEnabledProtocols(String [])
public abstract void setEnabledProtocols(String[] protocols)
プロトコルは、getSupportedProtocols() により、サポート対象としてリストされていなければなりません。このメソッドの呼び出しが正常に行われたとき、protocols
パラメータにリストされたプロトコルのみ、使用することができます。
accept()
から返される SSLSocket
は、この設定を継承します。
protocols
- 使用可能にするすべてのプロトコルの名前
IllegalArgumentException
- パラメータに指定されたプロトコルの一部がサポートされない場合、またはパラメータが null の場合getEnabledProtocols()
,
getSupportedProtocols()
public abstract void setNeedClientAuth(boolean need)
サーバモードの SSLSockets
で、クライアント認証が「必須」とされるように初期設定するかどうかを制御します。
ソケットのクライアント認証設定は、次のいずれかになります。
setWantClientAuth(boolean)
と異なり、受け入れたソケットのオプションが設定されていて、かつクライアント認証情報が提供されない場合は、ネゴシエーションが停止し、接続が切断されます。
このメソッドを呼び出すと、これまでにこのメソッドまたは setWantClientAuth(boolean)
によって設定された内容がオーバーライドされます。
SSLSocket.setNeedClientAuth(boolean)
または SSLSocket.setWantClientAuth(boolean)
を呼び出すと、継承された初期設定がオーバーライドされます。
need
- クライアント認証が必須の場合は true、クライアント認証が不要な場合は falsegetNeedClientAuth()
,
setWantClientAuth(boolean)
,
getWantClientAuth()
,
setUseClientMode(boolean)
public abstract boolean getNeedClientAuth()
サーバモードの SSLSocket
上でクライアント認証が「必須」の場合、true を返します。
SSLSocket.setNeedClientAuth(boolean)
または SSLSocket.setWantClientAuth(boolean)
を呼び出すと、継承された初期設定がオーバーライドされます。
setNeedClientAuth(boolean)
,
setWantClientAuth(boolean)
,
getWantClientAuth()
,
setUseClientMode(boolean)
public abstract void setWantClientAuth(boolean want)
サーバモードの SSLSockets
が、クライアント認証を「要求」するように初期設定するかどうかを制御します。
ソケットのクライアント認証設定は、次のいずれかになります。
setNeedClientAuth(boolean)
と異なり、受け入れたソケットのオプションが設定されていて、かつクライアント認証情報が提供されない場合でも、ネゴシエーションは続行されます。
このメソッドを呼び出すと、これまでにこのメソッドまたは setNeedClientAuth(boolean)
によって設定された内容がオーバーライドされます。
SSLSocket.setNeedClientAuth(boolean)
または SSLSocket.setWantClientAuth(boolean)
を呼び出すと、継承された初期設定がオーバーライドされます。
want
- クライアント認証が要求された場合は true、クライアント認証が不要な場合は falsegetWantClientAuth()
,
setNeedClientAuth(boolean)
,
getNeedClientAuth()
,
setUseClientMode(boolean)
public abstract boolean getWantClientAuth()
SSLSocket.setNeedClientAuth(boolean)
または SSLSocket.setWantClientAuth(boolean)
を呼び出すと、継承された初期設定がオーバーライドされます。
setWantClientAuth(boolean)
,
setNeedClientAuth(boolean)
,
getNeedClientAuth()
,
setUseClientMode(boolean)
public abstract void setUseClientMode(boolean mode)
通常、サーバは自身を認証しますが、クライアントは必ずしもそうとは限りません。
新しく受け入れた接続が、SSL クライアントモードの TCP サーバを要求することがあります。たとえば、FTP クライアントは、サーバソケットを取得すると、そのソケット上でサーバからの接続を待機します。FTP クライアントは、サーバからの接続を受け入れるときに、クライアントモードの SSLServerSocket を使用します。FTP サーバは、接続を開始するときにクライアントモードを無効にした SSLSocket を使用します。この場合、ハンドシェークを行うときは、既存の SSL セッションが再利用されます。
accept()
から返される SSLSocket
は、この設定を継承します。
mode
- 新しく受け入れた接続が SSL クライアントモードを使用する場合は truegetUseClientMode()
public abstract boolean getUseClientMode()
setUseClientMode(boolean)
public abstract void setEnableSessionCreation(boolean flag)
accept()
から返される SSLSocket
は、この設定を継承します。
flag
- セッションを作成する場合は true (デフォルト)。既存のセッションを再開する場合は falsegetEnableSessionCreation()
public abstract boolean getEnableSessionCreation()
setEnableSessionCreation(boolean)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。