public abstract class HttpsURLConnection extends HttpURLConnection
HttpsURLConnection
は、HttpURLConnection
の拡張クラスで、HTTPS固有の機能を使用できます。
HTTPS仕様の詳細は、http://www.w3.org/pub/WWW/Protocols/およびRFC 2818を参照してください。
このクラスでは、HostnameVerifier
とSSLSocketFactory
を使用します。 どちらのクラスにも、デフォルトの実装が定義されています。 これらの実装は、クラスごと(static)またはインスタンスごとに置き換えることもできます。 すべての新規HttpsURLConnection
インスタンスには、インスタンスの作成時に"default"の静的値が割り当てられますが、connect
の前に適切なインスタンスごとのsetメソッドを呼び出すことによってオーバーライドできます。
- 導入されたバージョン:
- 1.4
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected HostnameVerifier
hostnameVerifier
このオブジェクトのhostnameVerifier
。クラス java.net.HttpURLConnectionで宣言されたフィールド
chunkLength, fixedContentLength, fixedContentLengthLong, HTTP_ACCEPTED, HTTP_BAD_GATEWAY, HTTP_BAD_METHOD, HTTP_BAD_REQUEST, HTTP_CLIENT_TIMEOUT, HTTP_CONFLICT, HTTP_CREATED, HTTP_ENTITY_TOO_LARGE, HTTP_FORBIDDEN, HTTP_GATEWAY_TIMEOUT, HTTP_GONE, HTTP_INTERNAL_ERROR, HTTP_LENGTH_REQUIRED, HTTP_MOVED_PERM, HTTP_MOVED_TEMP, HTTP_MULT_CHOICE, HTTP_NO_CONTENT, HTTP_NOT_ACCEPTABLE, HTTP_NOT_AUTHORITATIVE, HTTP_NOT_FOUND, HTTP_NOT_IMPLEMENTED, HTTP_NOT_MODIFIED, HTTP_OK, HTTP_PARTIAL, HTTP_PAYMENT_REQUIRED, HTTP_PRECON_FAILED, HTTP_PROXY_AUTH, HTTP_REQ_TOO_LONG, HTTP_RESET, HTTP_SEE_OTHER, HTTP_SERVER_ERROR, HTTP_UNAUTHORIZED, HTTP_UNAVAILABLE, HTTP_UNSUPPORTED_TYPE, HTTP_USE_PROXY, HTTP_VERSION, instanceFollowRedirects, method, responseCode, responseMessage
クラス java.net.URLConnectionで宣言されたフィールド
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
HttpsURLConnection(URL url)
指定されたURLを使用してHttpsURLConnection
を作成します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 abstract String
getCipherSuite()
この接続で使用されている暗号化方式群を返します。static HostnameVerifier
getDefaultHostnameVerifier()
このクラスの新しいインスタンスによって継承されるデフォルトのHostnameVerifier
を取得します。static SSLSocketFactory
getDefaultSSLSocketFactory()
このクラスの新しいインスタンスによって継承されるデフォルトのstaticSSLSocketFactory
を取得します。HostnameVerifier
getHostnameVerifier()
このインスタンスで設定されているHostnameVerifier
を取得します。abstract Certificate[]
getLocalCertificates()
ハンドシェーク中にサーバーに送信された証明書を返します。Principal
getLocalPrincipal()
ハンドシェーク中にサーバーに送信された主体を返します。Principal
getPeerPrincipal()
セッションを定義するときに設定された、サーバーの主体を返します。abstract Certificate[]
getServerCertificates()
セッションを定義するときに設定された、サーバーの証明書チェーンを返します。Optional<SSLSession>
getSSLSession()
この接続で使用中のSSLSession
を含むOptional
を返します。SSLSocketFactory
getSSLSocketFactory()
セキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用される、SSLソケット・ファクトリを取得します。static void
setDefaultHostnameVerifier(HostnameVerifier v)
このクラスの新しいインスタンスによって継承されるデフォルトのHostnameVerifier
を設定します。static void
setDefaultSSLSocketFactory(SSLSocketFactory sf)
このクラスの新しいインスタンスによって継承されるデフォルトのSSLSocketFactory
を設定します。void
setHostnameVerifier(HostnameVerifier v)
このインスタンスのHostnameVerifier
を設定します。void
setSSLSocketFactory(SSLSocketFactory sf)
このインスタンスがセキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されるSSLSocketFactory
を設定します。クラス java.net.HttpURLConnectionで宣言されたメソッド
disconnect, getErrorStream, getFollowRedirects, getHeaderField, getHeaderFieldKey, getInstanceFollowRedirects, getPermission, getRequestMethod, getResponseCode, getResponseMessage, setAuthenticator, setChunkedStreamingMode, setFixedLengthStreamingMode, setFixedLengthStreamingMode, setFollowRedirects, setInstanceFollowRedirects, setRequestMethod, usingProxy
クラス java.net.URLConnectionで宣言されたメソッド
addRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentLengthLong, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldLong, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getReadTimeout, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setConnectTimeout, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toString
-
フィールド詳細
-
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()このクラスの新しいインスタンスによって継承されるデフォルトのstaticSSLSocketFactory
を取得します。ソケット・ファクトリは、セキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されます。
- 戻り値:
- デフォルトの
SSLSocketFactory
- 関連項目:
setDefaultSSLSocketFactory(SSLSocketFactory)
-
setSSLSocketFactory
public void setSSLSocketFactory(SSLSocketFactory sf)このインスタンスがセキュリティ保護されたHTTPS URL接続のソケットを作成するときに使用されるSSLSocketFactory
を設定します。このクラスの新しいインスタンスは、
setDefaultSSLSocketFactory
によって設定されたデフォルトのstaticSSLSocketFactory
を継承します。 このメソッドを呼び出すと、このオブジェクトの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
-