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

クラスHttpsURLConnection


public abstract class HttpsURLConnection
extends HttpURLConnection
HttpsURLConnectionは、HttpURLConnectionの拡張クラスで、HTTPS固有の機能を使用できます。

HTTPS仕様の詳細は、http://www.w3.org/pub/WWW/Protocols/およびRFC 2818を参照してください。

このクラスでは、HostnameVerifierSSLSocketFactoryを使用します。 どちらのクラスにも、デフォルトの実装が定義されています。 これらの実装は、クラスごと(static)またはインスタンスごとに置き換えることもできます。 すべての新規HttpsURLConnectionインスタンスには、インスタンスの作成時に"default"の静的値が割り当てられますが、connectの前に適切なインスタンスごとのsetメソッドを呼び出すことによってオーバーライドできます。

導入されたバージョン:
1.4
  • フィールド詳細

    • hostnameVerifier

      protected HostnameVerifier hostnameVerifier
      このオブジェクトのhostnameVerifier
  • コンストラクタの詳細

    • HttpsURLConnection

      protected HttpsURLConnection​(URL url)
      指定されたURLを使用してHttpsURLConnectionを作成します。
      パラメータ:
      url - URL
  • メソッドの詳細

    • getCipherSuite

      public abstract String getCipherSuite()
      この接続で使用されている暗号化方式群を返します。
      戻り値:
      暗号化方式群
      例外:
      IllegalStateException - 接続が確立される前にこのメソッドが呼び出された場合。
    • getLocalCertificates

      public abstract Certificate[] getLocalCertificates()
      ハンドシェーク中にサーバーに送信された証明書を返します。

      ノート: このメソッドが役立つのは、証明書ベースの暗号化方式群を使用している場合だけです。

      ハンドシェークを行うときに複数の証明書を使用できる場合は、最適な証明書チェーンが選択され、ピアに送信されます。 呼出し側は、このメソッドを使用して、実際に送信された証明書チェーンを把握することができます。

      戻り値:
      証明書の配列。クライアント自身の証明書、証明書発行局の証明書の順序に並んでいる。 証明書が送信されなかった場合は、nullが返される。
      例外:
      IllegalStateException - 接続が確立される前にこのメソッドが呼び出された場合。
      関連項目:
      getLocalPrincipal()
    • getServerCertificates

      public abstract Certificate[] getServerCertificates() throws SSLPeerUnverifiedException
      セッションを定義するときに設定された、サーバーの証明書チェーンを返します。

      ノート: このメソッドを使用できるのは、証明書ベースの暗号化方式群を使用している場合だけです。Kerberosなどの証明書ベースでない暗号化方式群にこのメソッドを使用すると、SSLPeerUnverifiedExceptionがスローされます。

      ノート: 返される値は有効な証明書チェーンではない可能性があり、信頼の決定に頼るべきではありません。

      戻り値:
      サーバー証明書の配列。ピア自身の証明書、証明書発行局の順序に並んでいる。
      例外:
      SSLPeerUnverifiedException - ピアが確認されていない場合。
      IllegalStateException - 接続が確立される前にこのメソッドが呼び出された場合。
      関連項目:
      getPeerPrincipal()
    • getPeerPrincipal

      public Principal getPeerPrincipal() throws SSLPeerUnverifiedException
      セッションを定義するときに設定された、サーバーの主体を返します。

      ノート: サブクラスはこのメソッドをオーバーライドする必要があります。 オーバーライドされていない場合、このメソッドのデフォルトでは、証明書ベースの暗号化方式群の場合はサーバーのエンド・エンティティ証明書のX500Principalが返され、Kerberosなどの証明書ベースでない暗号化方式群の場合はSSLPeerUnverifiedExceptionがスローされます。

      戻り値:
      サーバーの主体。 X509ベースの暗号化方式群の場合はエンド・エンティティ証明書のX500Principalを返し、Kerberos暗号化方式群の場合はKerberosPrincipalを返す。
      例外:
      SSLPeerUnverifiedException - ピアが確認されなかった場合。
      IllegalStateException - 接続が確立される前にこのメソッドが呼び出された場合。
      導入されたバージョン:
      1.5
      関連項目:
      getServerCertificates(), getLocalPrincipal()
    • getLocalPrincipal

      public Principal getLocalPrincipal()
      ハンドシェーク中にサーバーに送信された主体を返します。

      ノート: サブクラスはこのメソッドをオーバーライドする必要があります。 オーバーライドされていない場合、このメソッドのデフォルトでは、証明書ベースの暗号化方式群の場合はサーバーに送信されたエンド・エンティティ証明書のX500Principalが返され、Kerberosなどの証明書ベースでない暗号化方式群の場合はnullが返されます。

      戻り値:
      サーバーに送信された主体。 X509ベースの暗号化方式群の場合はエンド・エンティティ証明書のX500Principalを返し、Kerberos暗号化方式群の場合はKerberosPrincipalを返す。 主体が送信されなかった場合はnullが返される。
      例外:
      IllegalStateException - 接続が確立される前にこのメソッドが呼び出された場合。
      導入されたバージョン:
      1.5
      関連項目:
      getLocalCertificates(), getPeerPrincipal()
    • setDefaultHostnameVerifier

      public static void setDefaultHostnameVerifier​(HostnameVerifier v)
      このクラスの新しいインスタンスによって継承されるデフォルトのHostnameVerifierを設定します。

      このメソッドが呼び出されなかった場合、デフォルトのHostnameVerifierはこの接続の確立が要求されなかったと見なします。

      パラメータ:
      v - デフォルトのHostnameVerifier
      例外:
      IllegalArgumentException - HostnameVerifierパラメータがnullである場合。
      SecurityException - セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがSSLPermission("setHostnameVerifier")が許可しない場合
      関連項目:
      getDefaultHostnameVerifier()
    • getDefaultHostnameVerifier

      public static HostnameVerifier getDefaultHostnameVerifier()
      このクラスの新しいインスタンスによって継承されるデフォルトのHostnameVerifierを取得します。
      戻り値:
      デフォルトのHostnameVerifier
      関連項目:
      setDefaultHostnameVerifier(HostnameVerifier)
    • setHostnameVerifier

      public void setHostnameVerifier​(HostnameVerifier v)
      このインスタンスのHostnameVerifierを設定します。

      このクラスの新しいインスタンスは、setDefaultHostnameVerifierによって設定されたデフォルトのstatic HostnameVerifierを継承します。 このメソッドを呼び出すと、このオブジェクトのHostnameVerifierが置き換えられます。

      パラメータ:
      v - HostnameVerifier
      例外:
      IllegalArgumentException - HostnameVerifierパラメータがnullである場合。
      関連項目:
      getHostnameVerifier(), setDefaultHostnameVerifier(HostnameVerifier)
    • getHostnameVerifier

      public HostnameVerifier getHostnameVerifier()
      このインスタンスで設定されているHostnameVerifierを取得します。
      戻り値:
      HostnameVerifier
      関連項目:
      setHostnameVerifier(HostnameVerifier), setDefaultHostnameVerifier(HostnameVerifier)
    • setDefaultSSLSocketFactory

      public static void setDefaultSSLSocketFactory​(SSLSocketFactory sf)
      このクラスの新しいインスタンスによって継承されるデフォルトのSSLSocketFactoryを設定します。

      ソケット・ファクトリは、セキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されます。

      パラメータ:
      sf - デフォルトのSSLソケット・ファクトリ
      例外:
      IllegalArgumentException - SSLSocketFactoryパラメータがnullである場合。
      SecurityException - セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckSetFactoryメソッドが、ソケット・ファクトリの指定を許可しない場合。
      関連項目:
      getDefaultSSLSocketFactory()
    • getDefaultSSLSocketFactory

      public static SSLSocketFactory getDefaultSSLSocketFactory()
      このクラスの新しいインスタンスによって継承されるデフォルトのstatic SSLSocketFactoryを取得します。

      ソケット・ファクトリは、セキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されます。

      戻り値:
      デフォルトのSSLSocketFactory
      関連項目:
      setDefaultSSLSocketFactory(SSLSocketFactory)
    • setSSLSocketFactory

      public void setSSLSocketFactory​(SSLSocketFactory sf)
      このインスタンスがセキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されるSSLSocketFactoryを設定します。

      このクラスの新しいインスタンスは、setDefaultSSLSocketFactoryによって設定されたデフォルトのstatic SSLSocketFactoryを継承します。 このメソッドを呼び出すと、このオブジェクトのSSLSocketFactoryが置き換えられます。

      パラメータ:
      sf - SSLソケット・ファクトリ
      例外:
      IllegalArgumentException - SSLSocketFactoryパラメータがnullである場合。
      SecurityException - セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckSetFactoryメソッドが、ソケット・ファクトリの指定を許可しない場合。
      関連項目:
      getSSLSocketFactory()
    • getSSLSocketFactory

      public SSLSocketFactory getSSLSocketFactory()
      セキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用される、SSLソケット・ファクトリを取得します。
      戻り値:
      SSLSocketFactory
      関連項目:
      setSSLSocketFactory(SSLSocketFactory)
    • getSSLSession

      public Optional<SSLSession> getSSLSession()
      この接続で使用中のSSLSessionを含むOptionalを返します。 基礎となる実装がこのメソッドをサポートしていない場合、空のOptionalを返します。
      実装要件:
      互換性のために、このメソッドのデフォルト実装は空のOptionalを返します。 サブクラスは、SSLセッションに関連付けられている追加のパラメータにアクセスする必要がある場合があるため、このメソッドを適切な実装でオーバーライドする必要があります。
      戻り値:
      この接続で使用中のSSLSessionを含むOptional
      例外:
      IllegalStateException - 接続が確立される前にこのメソッドが呼び出された場合
      導入されたバージョン:
      12
      関連項目:
      SSLSession