public abstract class SSLSocketFactory extends SocketFactory
SSLSocketFactory
はSSLSocket
を作成します。SSLSocket
コンストラクタと説明 |
---|
SSLSocketFactory()
コンストラクタはサブクラスでだけ使用されます。
|
修飾子と型 | メソッドと説明 |
---|---|
Socket |
createSocket(Socket s, InputStream consumed, boolean autoClose)
|
abstract Socket |
createSocket(Socket s, String host, int port, boolean autoClose)
指定されたポートの指定されたホストに接続されている既存のソケットの上位ソケットを返します。
|
static SocketFactory |
getDefault()
デフォルトのSSLソケット・ファクトリを返します。
|
abstract String[] |
getDefaultCipherSuites()
デフォルトで使用可能になっている暗号化方式群のリストを返します。
|
abstract String[] |
getSupportedCipherSuites()
SSL接続で使用可能にできる暗号化方式群の名前を返します。
|
createSocket, createSocket, createSocket, createSocket, createSocket
public static SocketFactory getDefault()
このメソッドがはじめて呼び出されると、セキュリティ・プロパティssl.SocketFactory.providerが検査されます。null以外の場合、その名前のクラスがロードされ、インスタンス化されます。それに成功した場合、オブジェクトがSSLSocketFactoryのインスタンスであれば、そのオブジェクトはデフォルトのSSLソケット・ファクトリになります。
それ以外の場合、このメソッドはSSLContext.getDefault().getSocketFactory()
を返します。この呼出しに失敗した場合は、使用できないファクトリが返されます。
SocketFactory
SSLContext.getDefault()
public abstract String[] getDefaultCipherSuites()
getSupportedCipherSuites()
public abstract String[] getSupportedCipherSuites()
getDefaultCipherSuites()
public abstract Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException
s
- 既存のソケットhost
- サーバー・ホストport
- サーバー・ポートautoClose
- このソケットを閉じるときに、ベースとなるソケットを閉じるIOException
- ソケットの作成時に入出力エラーが発生した場合NullPointerException
- パラメータsがnullである場合public Socket createSocket(Socket s, InputStream consumed, boolean autoClose) throws IOException
Socket
で、そのSocket
のベースとなるInputStream
からすでに使用/削除されたデータを読み取れるものを作成します。
このメソッドは、Server Name Indication (SNI)拡張(TLS拡張(RFC6066)のセクション3を参照)の検査など、インバウンド・データを監視しながらも有効なSSL/TLS接続を作成する必要のあるサーバー・アプリケーションに使用できます。このメソッドを呼び出す前に、ベースとなるInputStream
からすでに削除されたデータを、ByteArrayInputStream
などを使ってconsumed
ストリーム内にロードしておく必要があります。このSocket
のハンドシェークが始まると、EOF
に達するまでconsumed
内のすべてのデータが読み取られますが、その後、後続のデータはすべて、ベースとなるInputStream
から通常どおり読み取られます。
返されるソケットは、このファクトリに確立されたソケット・オプションを使用して構成され、ハンドシェーク時にサーバー・モードを使用するように設定されます(SSLSocket.setUseClientMode(boolean)
を参照)。
s
- 既存のソケットconsumed
- 既存のSocket
のInputStream
からすでに削除された使用済インバウンド・ネットワーク・データ。削除されたデータが存在しない場合、このパラメータはnull
になる可能性がある。autoClose
- このソケットを閉じるときに、ベースとなるソケットを閉じる。Socket
IOException
- ソケットの作成時に入出力エラーが発生した場合UnsupportedOperationException
- ベースとなるプロバイダがこの操作を実装していない場合NullPointerException
- s
がnull
である場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.