モジュール java.base
パッケージ javax.net.ssl

クラスSSLContextSpi

java.lang.Object
javax.net.ssl.SSLContextSpi

public abstract class SSLContextSpi
extends Object
このクラスは、SSLContextクラスのサービス・プロバイダ・インタフェース (SPI)を定義します。

特定のSSLコンテキストの実装を提供する各暗号サービス・プロバイダは、このクラスのすべての抽象メソッドを実装する必要があります。

導入されたバージョン:
1.4
関連項目:
SSLContext
  • コンストラクタの詳細

  • メソッドの詳細

    • engineInit

      protected abstract void engineInit​(KeyManager[] km, TrustManager[] tm, SecureRandom sr) throws KeyManagementException
      このコンテキストを初期化します。
      パラメータ:
      km - 認証キーのソース
      tm - ピア認証の信頼を判断するソース
      sr - 乱数発生の元
      例外:
      KeyManagementException - この操作が失敗した場合
      関連項目:
      SSLContext.init(KeyManager [], TrustManager [], SecureRandom)
    • engineGetSocketFactory

      protected abstract SSLSocketFactory engineGetSocketFactory()
      このコンテキストのSocketFactoryオブジェクトを返します。
      戻り値:
      SocketFactoryオブジェクト
      例外:
      UnsupportedOperationException - ベースとなるプロバイダがこの操作を実装していない場合。
      IllegalStateException - SSLContextImplに初期化が必要であり、engineInit()が呼び出されていない場合
      関連項目:
      SSLContext.getSocketFactory()
    • engineGetServerSocketFactory

      protected abstract SSLServerSocketFactory engineGetServerSocketFactory()
      このコンテキストのServerSocketFactoryオブジェクトを返します。
      戻り値:
      ServerSocketFactoryオブジェクト
      例外:
      UnsupportedOperationException - ベースとなるプロバイダがこの操作を実装していない場合。
      IllegalStateException - SSLContextImplに初期化が必要であり、engineInit()が呼び出されていない場合
      関連項目:
      SSLContext.getServerSocketFactory()
    • engineCreateSSLEngine

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

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

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

      実装上のノート:
      返されるSSLEngineが(D)TLS接続にデフォルトでクライアントまたはサーバー・モードを使用する場合、プロバイダ固有です。 JDK SunJSSEプロバイダの実装では、デフォルトでサーバー・モードが使用されます。 ただし、SSLEngineの他のメソッドを呼び出す前に、SSLEngine.setUseClientMode()をコールして、常に目的のモードを明示的に設定することをお薦めします。
      戻り値:
      SSLEngineオブジェクト
      例外:
      IllegalStateException - SSLContextImplに初期化が必要であり、engineInit()が呼び出されていない場合
      導入されたバージョン:
      1.5
      関連項目:
      SSLContext.createSSLEngine()
    • engineCreateSSLEngine

      protected abstract SSLEngine engineCreateSSLEngine​(String host, int port)
      このコンテキストを使用するSSLEngineを作成します。

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

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

      実装上のノート:
      返されるSSLEngineが(D)TLS接続にデフォルトでクライアントまたはサーバー・モードを使用する場合、プロバイダ固有です。 JDK SunJSSEプロバイダの実装では、デフォルトでサーバー・モードが使用されます。 ただし、SSLEngineの他のメソッドを呼び出す前に、SSLEngine.setUseClientMode()をコールして、常に目的のモードを明示的に設定することをお薦めします。
      パラメータ:
      host - ホストの権限のない名前
      port - 権限のないポート
      戻り値:
      SSLEngineオブジェクト
      例外:
      IllegalStateException - SSLContextImplに初期化が必要であり、engineInit()が呼び出されていない場合
      導入されたバージョン:
      1.5
      関連項目:
      SSLContext.createSSLEngine(String, int)
    • engineGetServerSessionContext

      protected abstract SSLSessionContext engineGetServerSessionContext()
      このコンテキストのSSLSessionContextサーバー・オブジェクトを返します。
      戻り値:
      SSLSessionContextオブジェクト
      関連項目:
      SSLContext.getServerSessionContext()
    • engineGetClientSessionContext

      protected abstract SSLSessionContext engineGetClientSessionContext()
      このコンテキストのSSLSessionContextクライアント・オブジェクトを返します。
      戻り値:
      SSLSessionContextオブジェクト
      関連項目:
      SSLContext.getClientSessionContext()
    • engineGetDefaultSSLParameters

      protected SSLParameters engineGetDefaultSSLParameters()
      このSSLコンテキストのデフォルト設定を示すSSLParametersのコピーを返します。

      パラメータは、null値以外に設定された暗号化方式群とプロトコル配列を常に持ちます。

      デフォルトの実装では、このコンテキストのSocketFactoryのSocketFactory.createSocket()メソッドを呼び出すことによって作成されたSSLSocketからパラメータを取得します。

      戻り値:
      デフォルト設定を持つSSLParametersオブジェクトのコピー
      例外:
      UnsupportedOperationException - デフォルトのSSLパラメータを取得できなかった場合。
      導入されたバージョン:
      1.6
    • engineGetSupportedSSLParameters

      protected SSLParameters engineGetSupportedSSLParameters()
      このSSLコンテキストでサポートされる最大の設定を示すSSLParametersのコピーを返します。

      パラメータは、null値以外に設定された暗号化方式群とプロトコル配列を常に持ちます。

      デフォルトの実装では、このコンテキストのSocketFactoryのSocketFactory.createSocket()メソッドを呼び出すことによって作成されたSSLSocketからパラメータを取得します。

      戻り値:
      サポートされる最大の設定を持つSSLParametersオブジェクトのコピー
      例外:
      UnsupportedOperationException - サポートされるSSLパラメータを取得できなかった場合。
      導入されたバージョン:
      1.6