public class SSLContext extends Object
SSLEngineのファクトリとして機能する、セキュア・ソケット・プロトコルの実装を表します。 このクラスは、キー・マネージャと信頼マネージャの任意の組み合わせ、および安全な乱数バイトのソースを使用して初期化されます。 
  Javaプラットフォームの実装は、すべて次の標準のSSLContextプロトコルをサポートする必要があります。
 
| 修飾子 | コンストラクタ | 説明 | 
|---|---|---|
| protected  | SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol) | SSLContextオブジェクトを生成します。 | 
| 修飾子と型 | メソッド | 説明 | 
|---|---|---|
| SSLEngine | createSSLEngine() | このコンテキストを使用して、新しい SSLEngineを作成します。 | 
| SSLEngine | createSSLEngine(String peerHost, int peerPort) | 補足的なピア情報を使用して、このコンテキストを使用する新しい SSLEngineを作成します。 | 
| SSLSessionContext | getClientSessionContext() | クライアント・セッション・コンテキストを返します。このコンテキストには、クライアント側SSLソケットのハンドシェーク中に使用できるSSLセッションが指定されています。 | 
| static SSLContext | getDefault() | デフォルトのSSLコンテキストを返します。 | 
| SSLParameters | getDefaultSSLParameters() | このSSLコンテキストのデフォルト設定を示すSSLParametersのコピーを返します。 | 
| 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() | サーバー・セッション・コンテキストを返します。このコンテキストには、サーバー側SSLソケットのハンドシェーク中に使用できるSSLセッションが指定されています。 | 
| SSLServerSocketFactory | getServerSocketFactory() | このコンテキストの ServerSocketFactoryオブジェクトを返します。 | 
| SSLSocketFactory | getSocketFactory() | このコンテキストの SocketFactoryオブジェクトを返します。 | 
| SSLParameters | getSupportedSSLParameters() | このSSLコンテキストでサポートされる設定を示すSSLParametersのコピーを返します。 | 
| void | init(KeyManager[] km, TrustManager[] tm, SecureRandom random) | このコンテキストを初期化します。 | 
| static void | setDefault(SSLContext context) | デフォルトのSSLコンテキストを設定します。 | 
protected SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)
contextSpi - 委譲先provider - プロバイダprotocol - プロトコルpublic static SSLContext getDefault() throws NoSuchAlgorithmException
SSLContext.setDefault()メソッドを使用してデフォルト・コンテキストが設定されていた場合は、そのデフォルト・コンテキストが返されます。 そうでない場合は、このメソッドを最初に呼び出したときにSSLContext.getInstance("Default")の呼出しがトリガーされます。 成功すると、そのオブジェクトがデフォルトのSSLコンテキストになり、返されます。 
 
デフォルト・コンテキストはすぐに使用可能となり、初期化する必要はありません。
NoSuchAlgorithmException - SSLContext.getInstance()の呼出しが失敗した場合public static void setDefault(SSLContext context)
context - SSLContextNullPointerException - コンテキストがnullである場合SecurityException - セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがSSLPermission("setDefaultSSLContext")が許可しない場合public static SSLContext getInstance(String protocol) throws NoSuchAlgorithmException
SSLContextオブジェクトを返します。
 このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズムをサポートする最初のプロバイダのSSLContextSpi実装をカプセル化する新しいSSLContextオブジェクトが返されます。
 登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
protocol - 要求されたプロトコルの標準名。 標準のプロトコル名については、Java暗号化アーキテクチャ標準アルゴリズム名のドキュメントのSSLContextのセクションを参照。 SSLContextオブジェクト。NoSuchAlgorithmException - 指定されたプロトコルのSSLContextSpi実装をサポートするプロバイダが存在しない場合。NullPointerException - プロトコルがnullである場合。Providerpublic static SSLContext getInstance(String protocol, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
SSLContextオブジェクトを返します。
 指定されたプロバイダのSSLContextSpi実装をカプセル化する新しいSSLContextオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。
 登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
protocol - 要求されたプロトコルの標準名。 標準のプロトコル名については、Java暗号化アーキテクチャ標準アルゴリズム名のドキュメントのSSLContextのセクションを参照。 provider - プロバイダ名。SSLContextオブジェクト。NoSuchAlgorithmException - 指定されたプロバイダに、指定されたプロトコルのSSLContextSpiの実装がない場合。NoSuchProviderException - 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合。IllegalArgumentException - プロバイダ名がnullまたは空の場合。NullPointerException - プロトコルがnullである場合。Providerpublic static SSLContext getInstance(String protocol, Provider provider) throws NoSuchAlgorithmException
SSLContextオブジェクトを返します。
 指定されたProviderオブジェクトのSSLContextSpi実装をカプセル化する新しいSSLContextオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。
protocol - 要求されたプロトコルの標準名。 標準のプロトコル名については、Java暗号化アーキテクチャ標準アルゴリズム名のドキュメントのSSLContextのセクションを参照。 provider - プロバイダのインスタンス。SSLContextオブジェクト。NoSuchAlgorithmException - 指定されたProviderオブジェクトに、指定されたプロトコルのSSLContextSpi実装がない場合。IllegalArgumentException - プロバイダがnullの場合。NullPointerException - プロトコルがnullである場合。Providerpublic final String getProtocol()
SSLContextオブジェクトのプロトコル名を返します。
 これは、このSSLContextオブジェクトを作成したgetInstance呼出しのいずれかに指定された名前と同じです。
SSLContextオブジェクトのプロトコル名。public final Provider getProvider()
SSLContextオブジェクトのプロバイダを返します。SSLContextオブジェクトのプロバイダpublic final void init(KeyManager[] km, TrustManager[] tm, SecureRandom random) throws KeyManagementException
キー・マネージャや信頼マネージャは、配列内に最初に配置されている実装型のインスタンスだけが使用されます。 (たとえば、配列内の最初のjavax.net.ssl.X509KeyManagerだけが使用される)。
km - 認証キーのソース、またはnulltm - ピア認証の信頼を判断するソース、またはnullrandom - このジェネレータの乱数発生の元、またはnullKeyManagementException - この操作が失敗した場合public final SSLSocketFactory getSocketFactory()
SocketFactoryオブジェクトを返します。SocketFactoryオブジェクトIllegalStateException - SSLContextImplに初期化が必要であり、init()が呼び出されていない場合public final SSLServerSocketFactory getServerSocketFactory()
ServerSocketFactoryオブジェクトを返します。ServerSocketFactoryオブジェクトIllegalStateException - SSLContextImplに初期化が必要であり、init()が呼び出されていない場合public final SSLEngine createSSLEngine()
SSLEngineを作成します。
 
 このファクトリ・メソッドを使用しているアプリケーションは、内部セッションの再利用に関するヒントを提供しません。 ヒントが必要な場合は、代わりにcreateSSLEngine(String, int)を使用するようにしてください。 
 
Kerberosなど、リモート・ホスト名の情報を必要とする暗号化方式群もあります。この場合は、このファクトリ・メソッドを使用しないでください。
SSLEngineオブジェクトUnsupportedOperationException - ベースとなるプロバイダがこの操作を実装していない場合。IllegalStateException - SSLContextImplに初期化が必要であり、init()が呼び出されていない場合public final SSLEngine createSSLEngine(String peerHost, int peerPort)
SSLEngineを作成します。
 このファクトリ・メソッドを使用しているアプリケーションは、内部セッションの再利用に関するヒントを提供します。
Kerberosなど、リモート・ホスト名の情報を必要とする暗号化方式群もあります。この場合は、peerHostを指定する必要があります。
peerHost - ホストの権限のない名前peerPort - 権限のないポートSSLEngineオブジェクトUnsupportedOperationException - ベースとなるプロバイダがこの操作を実装していない場合。IllegalStateException - SSLContextImplに初期化が必要であり、init()が呼び出されていない場合public final SSLSessionContext getServerSessionContext()
コンテキストは、一部の環境では取得できません。その場合はnullを返します。 たとえば、ベースとなるSSLプロバイダがSSLSessionContextインタフェースの実装を提供していない場合は、このメソッドはnullを返します。 それ以外の場合は、null以外のセッション・コンテキストが返されます。
public final SSLSessionContext getClientSessionContext()
コンテキストは、一部の環境では取得できません。その場合はnullを返します。 たとえば、ベースとなるSSLプロバイダがSSLSessionContextインタフェースの実装を提供していない場合は、このメソッドはnullを返します。 それ以外の場合は、null以外のセッション・コンテキストが返されます。
public final SSLParameters getDefaultSSLParameters()
パラメータは、null値以外に設定された暗号化方式群とプロトコル配列を常に持ちます。
UnsupportedOperationException - デフォルトのSSLパラメータを取得できなかった場合。public final SSLParameters getSupportedSSLParameters()
パラメータは、null値以外に設定された暗号化方式群とプロトコル配列を常に持ちます。
UnsupportedOperationException - サポートされるSSLパラメータを取得できなかった場合。 バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。 
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。