モジュール 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)
      • 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