SSLEngineのファクトリとして機能する、セキュア・ソケット・プロトコルの実装を表します。 このクラスは、キー・マネージャと信頼マネージャの任意の組み合わせ、および安全な乱数バイトのソースを使用して初期化されます。 
  Javaプラットフォームの実装は、すべて次の標準のSSLContextプロトコルをサポートする必要があります。
 
- TLSv1.2
- 導入されたバージョン:
- 1.4
- 
コンストラクタのサマリーコンストラクタ修飾子コンストラクタ説明protectedSSLContext(SSLContextSpi contextSpi, Provider provider, String protocol) SSLContextオブジェクトを生成します。
- 
メソッドのサマリー修飾子と型メソッド説明final SSLEngineこのコンテキストを使用して、新しいSSLEngineを作成します。final SSLEnginecreateSSLEngine(String peerHost, int peerPort) 補足的なピア情報を使用して、このコンテキストを使用する新しいSSLEngineを作成します。final SSLSessionContextクライアント・セッション・コンテキストを返します。このコンテキストには、クライアント側SSLソケットのハンドシェーク中に使用できるSSLセッションが指定されています。static SSLContextデフォルトのSSLコンテキストを返します。final SSLParametersこのSSLコンテキストのデフォルト設定を示すSSLParametersのコピーを返します。static SSLContextgetInstance(String protocol) 指定されたセキュア・ソケット・プロトコルを実装するSSLContextオブジェクトを返します。static SSLContextgetInstance(String protocol, String provider) 指定されたセキュア・ソケット・プロトコルを実装するSSLContextオブジェクトを返します。static SSLContextgetInstance(String protocol, Provider provider) 指定されたセキュア・ソケット・プロトコルを実装するSSLContextオブジェクトを返します。final StringこのSSLContextオブジェクトのプロトコル名を返します。final ProviderこのSSLContextオブジェクトのプロバイダを返します。final SSLSessionContextサーバー・セッション・コンテキストを返します。このコンテキストには、サーバー側SSLソケットのハンドシェーク中に使用できるSSLセッションが指定されています。final SSLServerSocketFactoryこのコンテキストのServerSocketFactoryオブジェクトを返します。final SSLSocketFactoryこのコンテキストのSocketFactoryオブジェクトを返します。final SSLParametersこのSSLコンテキストでサポートされる設定を示すSSLParametersのコピーを返します。final voidinit(KeyManager[] km, TrustManager[] tm, SecureRandom random) このコンテキストを初期化します。static voidsetDefault(SSLContext context) デフォルトのSSLコンテキストを設定します。
- 
コンストラクタの詳細- 
SSLContextprotected SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol) SSLContextオブジェクトを生成します。- パラメータ:
- contextSpi- 委譲先
- provider- プロバイダ
- protocol- プロトコル
 
 
- 
- 
メソッドの詳細- 
getDefaultpublic static SSLContext getDefault() throws NoSuchAlgorithmExceptionデフォルトのSSLコンテキストを返します。SSLContext.setDefault()メソッドを使用してデフォルト・コンテキストが設定されていた場合は、そのデフォルト・コンテキストが返されます。 そうでない場合は、このメソッドを最初に呼び出したときにSSLContext.getInstance("Default")の呼出しがトリガーされます。 成功すると、そのオブジェクトがデフォルトのSSLコンテキストになり、返されます。デフォルト・コンテキストはすぐに使用可能となり、初期化する必要はありません。 - 戻り値:
- デフォルトのSSLコンテキスト
- throws:
- NoSuchAlgorithmException-- SSLContext.getInstance()の呼出しが失敗した場合
- 導入されたバージョン:
- 1.6
 
- 
setDefaultpublic static void setDefault(SSLContext context) - パラメータ:
- context- SSLContext
- throws:
- NullPointerException- コンテキストがnullである場合
- SecurityException- セキュリティ・マネージャが存在し、その- checkPermissionメソッドが- SSLPermission("setDefaultSSLContext")が許可しない場合
- 導入されたバージョン:
- 1.6
 
- 
getInstancepublic static SSLContext getInstance(String protocol) throws NoSuchAlgorithmException 指定されたセキュア・ソケット・プロトコルを実装するSSLContextオブジェクトを返します。このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズムをサポートする最初のプロバイダのSSLContextSpi実装をカプセル化する新しいSSLContextオブジェクトが返されます。 登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、jdk.security.provider.preferredSecurityプロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
- パラメータ:
- protocol- 要求されたプロトコルの標準名。 標準プロトコル名については、「Javaセキュリティ標準アルゴリズム名指定」のSSLContextセクションを参照してください。
- 戻り値:
- 新しいSSLContextオブジェクト
- throws:
- NoSuchAlgorithmException-- Providerが、指定されたプロトコルの- SSLContextSpi実装をサポートしていない場合
- NullPointerException-- protocolが- nullの場合
- 関連項目:
 
- 
getInstancepublic static SSLContext getInstance(String protocol, String provider) throws NoSuchAlgorithmException, NoSuchProviderException 指定されたセキュア・ソケット・プロトコルを実装するSSLContextオブジェクトを返します。指定されたプロバイダのSSLContextSpi実装をカプセル化する新しいSSLContextオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。 登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- パラメータ:
- protocol- 要求されたプロトコルの標準名。 標準プロトコル名については、「Javaセキュリティ標準アルゴリズム名指定」のSSLContextセクションを参照してください。
- provider- プロバイダ名。
- 戻り値:
- 新しいSSLContextオブジェクト
- throws:
- IllegalArgumentException- プロバイダ名が- nullまたは空の場合
- NoSuchAlgorithmException- 指定されたプロトコルの- SSLContextSpi実装が指定されたプロバイダから利用できない場合
- NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
- NullPointerException-- protocolが- nullの場合
- 関連項目:
 
- 
getInstancepublic static SSLContext getInstance(String protocol, Provider provider) throws NoSuchAlgorithmException 指定されたセキュア・ソケット・プロトコルを実装するSSLContextオブジェクトを返します。指定されたProviderオブジェクトのSSLContextSpi実装をカプセル化する新しいSSLContextオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。 - パラメータ:
- protocol- 要求されたプロトコルの標準名。 標準プロトコル名については、「Javaセキュリティ標準アルゴリズム名指定」のSSLContextセクションを参照してください。
- provider- プロバイダのインスタンス。
- 戻り値:
- 新しいSSLContextオブジェクト
- throws:
- IllegalArgumentException- プロバイダが- nullの場合
- NoSuchAlgorithmException- 指定されたプロトコルの- SSLContextSpi実装が、指定された- Providerオブジェクトから使用できない場合
- NullPointerException-- protocolが- nullの場合
- 関連項目:
 
- 
getProtocolpublic final String getProtocol()このSSLContextオブジェクトのプロトコル名を返します。これは、この SSLContextオブジェクトを作成したgetInstance呼出しのいずれかに指定された名前と同じです。- 戻り値:
- このSSLContextオブジェクトのプロトコル名。
 
- 
getProviderpublic final Provider getProvider()このSSLContextオブジェクトのプロバイダを返します。- 戻り値:
- このSSLContextオブジェクトのプロバイダ
 
- 
initpublic 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
- throws:
- KeyManagementException- この操作が失敗した場合
 
- 
getSocketFactorypublic final SSLSocketFactory getSocketFactory()このコンテキストのSocketFactoryオブジェクトを返します。- 戻り値:
- SocketFactoryオブジェクト
- throws:
- UnsupportedOperationException- ベースとなるプロバイダがこの操作を実装していない場合。
- IllegalStateException- SSLContextImplに初期化が必要であり、- init()が呼び出されていない場合
 
- 
getServerSocketFactorypublic final SSLServerSocketFactory getServerSocketFactory()このコンテキストのServerSocketFactoryオブジェクトを返します。- 戻り値:
- ServerSocketFactoryオブジェクト
- throws:
- UnsupportedOperationException- ベースとなるプロバイダがこの操作を実装していない場合。
- IllegalStateException- SSLContextImplに初期化が必要であり、- init()が呼び出されていない場合
 
- 
createSSLEnginepublic final SSLEngine createSSLEngine()このコンテキストを使用して、新しいSSLEngineを作成します。このファクトリ・メソッドを使用しているアプリケーションは、内部セッションの再利用に関するヒントを提供しません。 ヒントが必要な場合は、代わりに createSSLEngine(String, int)を使用するようにしてください。Kerberosなど、リモート・ホスト名の情報を必要とする暗号化方式群もあります。この場合は、このファクトリ・メソッドを使用しないでください。 - 実装上のノート:
- 返されるSSLEngineが(D)TLS接続にデフォルトでクライアントまたはサーバー・モードを使用する場合、プロバイダ固有です。 JDK SunJSSEプロバイダの実装では、デフォルトでサーバー・モードが使用されます。 ただし、SSLEngineの他のメソッドを呼び出す前に、SSLEngine.setUseClientMode()をコールして、常に目的のモードを明示的に設定することをお薦めします。
- 戻り値:
- SSLEngineオブジェクト
- throws:
- UnsupportedOperationException- ベースとなるプロバイダがこの操作を実装していない場合。
- IllegalStateException- SSLContextImplに初期化が必要であり、- init()が呼び出されていない場合
- 導入されたバージョン:
- 1.5
 
- 
createSSLEngine補足的なピア情報を使用して、このコンテキストを使用する新しいSSLEngineを作成します。このファクトリ・メソッドを使用しているアプリケーションは、内部セッションの再利用に関するヒントを提供します。 Kerberosなど、リモート・ホスト名の情報を必要とする暗号化方式群もあります。この場合は、peerHostを指定する必要があります。 - 実装上のノート:
- 返されるSSLEngineが(D)TLS接続にデフォルトでクライアントまたはサーバー・モードを使用する場合、プロバイダ固有です。 JDK SunJSSEプロバイダの実装では、デフォルトでサーバー・モードが使用されます。 ただし、SSLEngineの他のメソッドを呼び出す前に、SSLEngine.setUseClientMode()をコールして、常に目的のモードを明示的に設定することをお薦めします。
- パラメータ:
- peerHost- ホストの権限のない名前
- peerPort- 権限のないポート
- 戻り値:
- 新しいSSLEngineオブジェクト
- throws:
- UnsupportedOperationException- ベースとなるプロバイダがこの操作を実装していない場合。
- IllegalStateException- SSLContextImplに初期化が必要であり、- init()が呼び出されていない場合
- 導入されたバージョン:
- 1.5
 
- 
getServerSessionContextpublic final SSLSessionContext getServerSessionContext()サーバー・セッション・コンテキストを返します。このコンテキストには、サーバー側SSLソケットのハンドシェーク中に使用できるSSLセッションが指定されています。コンテキストは、一部の環境では取得できません。その場合はnullを返します。 たとえば、ベースとなるSSLプロバイダがSSLSessionContextインタフェースの実装を提供していない場合は、このメソッドはnullを返します。 それ以外の場合は、null以外のセッション・コンテキストが返されます。 - 戻り値:
- このSSLコンテキストにバインドされているサーバー・セッション・コンテキスト
 
- 
getClientSessionContextpublic final SSLSessionContext getClientSessionContext()クライアント・セッション・コンテキストを返します。このコンテキストには、クライアント側SSLソケットのハンドシェーク中に使用できるSSLセッションが指定されています。コンテキストは、一部の環境では取得できません。その場合はnullを返します。 たとえば、ベースとなるSSLプロバイダがSSLSessionContextインタフェースの実装を提供していない場合は、このメソッドはnullを返します。 それ以外の場合は、null以外のセッション・コンテキストが返されます。 - 戻り値:
- このSSLコンテキストにバインドされているクライアント・セッション・コンテキスト
 
- 
getDefaultSSLParameterspublic final SSLParameters getDefaultSSLParameters()このSSLコンテキストのデフォルト設定を示すSSLParametersのコピーを返します。パラメータは、null値以外に設定された暗号化方式群とプロトコル配列を常に持ちます。 - 戻り値:
- デフォルト設定を持つSSLParametersオブジェクトのコピー
- throws:
- UnsupportedOperationException- デフォルトのSSLパラメータを取得できなかった場合。
- 導入されたバージョン:
- 1.6
 
- 
getSupportedSSLParameterspublic final SSLParameters getSupportedSSLParameters()このSSLコンテキストでサポートされる設定を示すSSLParametersのコピーを返します。パラメータは、null値以外に設定された暗号化方式群とプロトコル配列を常に持ちます。 - 戻り値:
- サポートされる設定を持つSSLParametersオブジェクトのコピー
- throws:
- UnsupportedOperationException- サポートされるSSLパラメータを取得できなかった場合。
- 導入されたバージョン:
- 1.6
 
 
-