SSLSocketFactoryはSSLSocketを作成します。- 導入されたバージョン:
- 1.4
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明createSocket(Socket s, InputStream consumed, boolean autoClose) 既存の接続済ソケットの上位サーバー・モードSocketで、そのSocketのベースとなるInputStreamからすでに使用/削除されたデータを読み取れるものを作成します。abstract SocketcreateSocket(Socket s, String host, int port, boolean autoClose) 指定されたポートの指定されたホストに接続されている既存のソケットの上位ソケットを返します。static SocketFactoryデフォルトのSSLソケット・ファクトリを返します。abstract String[]デフォルトで使用可能になっている暗号化方式群のリストを返します。abstract String[]SSL接続で使用可能にできる暗号化方式群の名前を返します。クラス javax.net.SocketFactoryで宣言されたメソッド
createSocket, createSocket, createSocket, createSocket, createSocket
-
コンストラクタの詳細
-
SSLSocketFactory
public SSLSocketFactory()コンストラクタはサブクラスでだけ使用されます。
-
-
メソッドの詳細
-
getDefault
public static SocketFactory getDefault()デフォルトのSSLソケット・ファクトリを返します。このメソッドがはじめて呼び出されると、セキュリティ・プロパティssl.SocketFactory.providerが検査されます。 null以外の場合、その名前のクラスがロードされ、インスタンス化されます。 それに成功した場合、オブジェクトがSSLSocketFactoryのインスタンスであれば、そのオブジェクトはデフォルトのSSLソケット・ファクトリになります。
それ以外の場合、このメソッドは
SSLContext.getDefault().getSocketFactory()を返します。 この呼出しに失敗した場合は、使用できないファクトリが返されます。- 戻り値:
- デフォルトの
SocketFactory - 関連項目:
-
getDefaultCipherSuites
public abstract String[] getDefaultCipherSuites()デフォルトで使用可能になっている暗号化方式群のリストを返します。 別のリストが使用可能になっていないかぎり、SSL接続のハンドシェークではこの暗号化方式群のいずれかが使用されます。 デフォルトの暗号化方式群を使用するとき、最小限のサービス品質を保証するには、機密性保護とサーバー認証が必要です(つまり、匿名の暗号化方式群は使用できない)。返される配列には、Java Security Standard Algorithm Names Specificationの「JSSE暗号スイート名」セクションにある標準の暗号スイート名のリストからの暗号スイートが含まれ、プロバイダがサポートする他の暗号スイートが含まれる場合もあります。
- 戻り値:
- デフォルトで使用可能になっている暗号化方式群の配列
- 関連項目:
-
getSupportedCipherSuites
public abstract String[] getSupportedCipherSuites()SSL接続で使用可能にできる暗号化方式群の名前を返します。 通常は、その一部のみがデフォルトで使用可能になります。デフォルトのサービス品質要件を満たしていない暗号化方式群は、使用不可になります。 それらの暗号化方式群は、特殊なアプリケーションで使用します。返される配列には、Java Security Standard Algorithm Names Specificationの「JSSE暗号スイート名」セクションにある標準の暗号スイート名のリストからの暗号スイートが含まれ、プロバイダがサポートする他の暗号スイートが含まれる場合もあります。
- 戻り値:
- 暗号化方式群名の配列
- 関連項目:
-
createSocket
public abstract Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException 指定されたポートの指定されたホストに接続されている既存のソケットの上位ソケットを返します。 このコンストラクタを使用すれば、SSLからプロキシのトンネルを確立したり、既存のソケットの上位でSSLを使用するようにネゴシエートしたりできます。 指定するホストとポートは、論理接続先を示します。 ソケットは、このファクトリに設定されているソケット・オプションを使用して構成されます。- パラメータ:
s- 既存のソケットhost- サーバー・ホストport- サーバー・ポートautoClose- このソケットを閉じるときに、ベースとなるソケットを閉じる- 戻り値:
- 指定されたホストとポートに接続されるソケット
- 例外:
IOException- ソケットの作成時に入出力エラーが発生した場合NullPointerException- パラメータsがnullである場合
-
createSocket
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である場合- 導入されたバージョン:
- 1.8
-