JavaTM Platform
Standard Ed. 6

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

getSSLSocketFactory

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

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

JavaTM Platform
Standard Ed. 6

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

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