JavaTM 2 Platform
Standard Ed. 5.0

javax.net.ssl
クラス SSLContext

java.lang.Object
  上位を拡張 javax.net.ssl.SSLContext

public class SSLContext
extends Object

このクラスのインスタンスは、セキュアソケットファクトリまたは SSLEngine のファクトリとして機能する、セキュアソケットプロトコルの実装を表します。このクラスは、鍵マネージャと信頼マネージャの任意の組み合わせ、および安全な乱数バイトのソースを使用して初期化されます。

導入されたバージョン:
1.4

コンストラクタの概要
protected SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)
          SSLContext オブジェクトを作成します。
 
メソッドの概要
 SSLEngine createSSLEngine()
          このコンテキストを使用して、新しい SSLEngine を作成します。
 SSLEngine createSSLEngine(String peerHost, int peerPort)
          このコンテキストと補足的なピア情報を使用して、新しい SSLEngine を作成します。
 SSLSessionContext getClientSessionContext()
          クライアントセッションコンテキストを返します。
static SSLContext getInstance(String protocol)
          指定されたセキュアソケットプロトコルを実装する SSLContext オブジェクトを生成します。
static SSLContext getInstance(String protocol, Provider provider)
          指定されたセキュアソケットプロトコルを指定されたプロバイダから実装する SSLContext オブジェクトを生成します。
static SSLContext getInstance(String protocol, String provider)
          指定されたセキュアソケットプロトコルを指定されたプロバイダから実装する SSLContext オブジェクトを生成します。
 String getProtocol()
          この SSLContext のプロトコル名を返します。
 Provider getProvider()
          この SSLContext オブジェクトのプロバイダを返します。
 SSLSessionContext getServerSessionContext()
          サーバセッションコンテキストを返します。
 SSLServerSocketFactory getServerSocketFactory()
          このコンテキストの ServerSocketFactory オブジェクトを返します。
 SSLSocketFactory getSocketFactory()
          このコンテキストの SocketFactory オブジェクトを返します。
 void init(KeyManager[] km, TrustManager[] tm, SecureRandom random)
          このコンテキストを初期化します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SSLContext

protected SSLContext(SSLContextSpi contextSpi,
                     Provider provider,
                     String protocol)
SSLContext オブジェクトを作成します。

パラメータ:
contextSpi - 委譲先
provider - プロバイダ
protocol - プロトコル
メソッドの詳細

getInstance

public static SSLContext getInstance(String protocol)
                              throws NoSuchAlgorithmException
指定されたセキュアソケットプロトコルを実装する SSLContext オブジェクトを生成します。

要求された鍵管理アルゴリズムの実装をデフォルトのプロバイダパッケージが提供している場合は、その実装を含む SSLContext のインスタンスが返されます。デフォルトのプロバイダパッケージで目的のアルゴリズムが提供されていない場合には、ほかのプロバイダパッケージが検索されます。

パラメータ:
protocol - 要求されたプロトコルの標準名
戻り値:
新しい SSLContext オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロトコルが、デフォルトのプロバイダパッケージにも、検索したほかのプロバイダパッケージにもない場合

getInstance

public static SSLContext getInstance(String protocol,
                                     String provider)
                              throws NoSuchAlgorithmException,
                                     NoSuchProviderException
指定されたセキュアソケットプロトコルを指定されたプロバイダから実装する SSLContext オブジェクトを生成します。

パラメータ:
protocol - 要求されたプロトコルの標準名
provider - プロバイダ名
戻り値:
新しい SSLContext オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダに指定されたプロトコルがない場合
NoSuchProviderException - 指定されたプロバイダが設定されていない場合
IllegalArgumentException - プロバイダの名前が null か空の場合

getInstance

public static SSLContext getInstance(String protocol,
                                     Provider provider)
                              throws NoSuchAlgorithmException
指定されたセキュアソケットプロトコルを指定されたプロバイダから実装する SSLContext オブジェクトを生成します。

パラメータ:
protocol - 要求されたプロトコルの標準名
provider - プロバイダのインスタンス
戻り値:
新しい SSLContext オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダに指定されたプロトコルがない場合
IllegalArgumentException - プロバイダ名が null の場合

getProtocol

public final String getProtocol()
この SSLContext のプロトコル名を返します。

この SSLContext オブジェクトを作成した getInstance 呼び出しで指定されたアルゴリズム名が返されます。

戻り値:
この SSLContext オブジェクトのプロトコル名

getProvider

public final Provider getProvider()
この SSLContext オブジェクトのプロバイダを返します。

戻り値:
この SSLContext オブジェクトのプロバイダ

init

public final void init(KeyManager[] km,
                       TrustManager[] tm,
                       SecureRandom random)
                throws KeyManagementException
このコンテキストを初期化します。最初の 2 つのパラメータのどちらかを null にした場合は、インストールされているセキュリティプロバイダから、該当するファクトリのもっとも優先順位の高い実装が検索されます。同様に、SecureRandom パラメータを null にした場合は、デフォルトの実装が使用されます。

鍵マネージャや信頼マネージャは、配列内に最初に配置されている実装型のインスタンスだけが使用されます (たとえば、配列内の最初の javax.net.ssl.X509KeyManager だけが使用される)。

パラメータ:
km - 認証キーのソースまたは null
tm - ピア認証の信頼を判断するソース、または null
random - このジェネレータの乱数のソース、または null
例外:
KeyManagementException - この処理が失敗した場合

getSocketFactory

public final SSLSocketFactory getSocketFactory()
このコンテキストの SocketFactory オブジェクトを返します。

戻り値:
SocketFactory オブジェクト

getServerSocketFactory

public final SSLServerSocketFactory getServerSocketFactory()
このコンテキストの ServerSocketFactory オブジェクトを返します。

戻り値:
ServerSocketFactory オブジェクト

createSSLEngine

public final SSLEngine createSSLEngine()
このコンテキストを使用して、新しい SSLEngine を作成します。

このファクトリメソッドを使用しているアプリケーションは、内部セッションの再利用に関するヒントを提供しません。ヒントを提供したい場合は、代わりに createSSLEngine(String, int) を使用してください。

Kerberos など、リモートホスト名の情報を必要とする符号化方式もあります。この場合は、このファクトリメソッドを使用しないでください。

戻り値:
SSLEngine オブジェクト
例外:
UnsupportedOperationException - 基本となるプロバイダがこの操作を実装していない場合
導入されたバージョン:
1.5

createSSLEngine

public final SSLEngine createSSLEngine(String peerHost,
                                       int peerPort)
このコンテキストと補足的なピア情報を使用して、新しい SSLEngine を作成します。

このファクトリメソッドを使用しているアプリケーションは、内部セッションの再利用に関するヒントを提供します。

Kerberos など、リモートホスト名の情報を必要とする符号化方式もあります。この場合は、peerHost を指定する必要があります。

パラメータ:
peerHost - 任意指定のホスト名
peerPort - 任意指定のポート
戻り値:
新しい SSLEngine オブジェクト
例外:
UnsupportedOperationException - 基本となるプロバイダがこの操作を実装していない場合
導入されたバージョン:
1.5

getServerSessionContext

public final SSLSessionContext getServerSessionContext()
サーバセッションコンテキストを返します。このコンテキストには、サーバ側 SSL ソケットのハンドシェーク中に使用できる SSL セッションが指定されています。

サーバセッションコンテキストは、一部の環境では使用できないことがあります。その場合は null が返されます。たとえば、基本となる SSL プロバイダが SSLSessionContext インタフェースを実装していない場合は、null が返されます。実装している場合は、null 以外のセッションコンテキストが返されます。

戻り値:
この SSL コンテキストにバインドされているサーバセッションコンテキスト

getClientSessionContext

public final SSLSessionContext getClientSessionContext()
クライアントセッションコンテキストを返します。このコンテキストには、クライアント側 SSL ソケットのハンドシェーク中に使用できる SSL セッションが指定されています。

サーバセッションコンテキストは、一部の環境では使用できないことがあります。その場合は null が返されます。たとえば、基本となる SSL プロバイダが SSLSessionContext インタフェースを実装していない場合は、null が返されます。実装している場合は、null 以外のセッションコンテキストが返されます。

戻り値:
この SSL コンテキストにバインドされているクライアントセッションコンテキスト

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。