JavaTM 2 Platform
Standard Ed. 5.0

javax.net.ssl
クラス HttpsURLConnection

java.lang.Object
  上位を拡張 java.net.URLConnection
      上位を拡張 java.net.HttpURLConnection
          上位を拡張 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 のインスタンスには、生成時にデフォルトの static 値が割り当てられます。これらの値をオーバーライドするには、connect を実行する前に、set メソッドをインスタンスごとに呼び出します。

導入されたバージョン:
1.4

フィールドの概要
protected  HostnameVerifier hostnameVerifier
          このオブジェクトの hostnameVerifier です。
 
クラス java.net.HttpURLConnection から継承されたフィールド
chunkLength, fixedContentLength, 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()
          このクラスの新しいインスタンスに継承されるデフォルトの static SSLSocketFactory を取得します。
 HostnameVerifier getHostnameVerifier()
          このインスタンスに設定されている HostnameVerifier を取得します。
abstract  Certificate[] getLocalCertificates()
          ハンドシェーク中にサーバに送信された証明書を返します。
 Principal getLocalPrincipal()
          ハンドシェーク中にサーバに送信された主体を返します。
 Principal getPeerPrincipal()
          セッションを定義するときに設定された、サーバの主体を返します。
abstract  Certificate[] getServerCertificates()
          セッションを定義するときに設定された、サーバの証明書チェーンを返します。
 SSLSocketFactory getSSLSocketFactory()
          セキュリティ保護された HTTPS URL 接続のソケットを作成するときに使用される、static 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, getHeaderFieldDate, getHeaderFieldKey, getInstanceFollowRedirects, getPermission, getRequestMethod, getResponseCode, getResponseMessage, setChunkedStreamingMode, setFixedLengthStreamingMode, setFollowRedirects, setInstanceFollowRedirects, setRequestMethod, usingProxy
 
クラス java.net.URLConnection から継承されたメソッド
addRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderFieldInt, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getReadTimeout, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setConnectTimeout, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toString
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

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 の場合
関連項目:
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 の場合
関連項目:
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 の場合
関連項目:
getSSLSocketFactory()

getSSLSocketFactory

public SSLSocketFactory getSSLSocketFactory()
セキュリティ保護された HTTPS URL 接続のソケットを作成するときに使用される、static SSL ソケットファクトリを取得します。

戻り値:
SSLSocketFactory
関連項目:
setSSLSocketFactory(SSLSocketFactory)

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。