|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.naming.ldap.StartTlsResponse
このクラスは、Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security に定義されている、LDAPv3 の StartTLS 拡張応答を実装します。StartTLS のオブジェクト識別子は 1.3.6.1.4.1.1466.20037 です。拡張応答の値は定義されていません。
StartTLS の拡張要求と拡張応答は、TLS 接続を確立するときに使用します。TLS 接続は、extendedOperation() を呼び出した JNDI コンテキストに関連付けられた既存の LDAP 接続上に確立されます。通常、JNDI プログラムでは、StartTLS の拡張要求と拡張応答のクラスを次のように使用します。
import javax.naming.ldap.*; // Open an LDAP association LdapContext ctx = new InitialLdapContext(); // Perform a StartTLS extended operation StartTlsResponse tls = (StartTlsResponse) ctx.extendedOperation(new StartTlsRequest()); // Open a TLS connection (over the existing LDAP association) and get details // of the negotiated TLS session: cipher suite, peer certificate, ... SSLSession session = tls.negotiate(); // ... use ctx to perform protected LDAP operations // Close the TLS connection (revert back to the underlying LDAP association) tls.close(); // ... use ctx to perform unprotected LDAP operations // Close the LDAP association ctx.close;
StartTlsRequest
,
直列化された形式フィールドの概要 | |
static String |
OID
StartTLS 拡張応答に割り当てられているオブジェクト識別子は 1.3.6.1.4.1.1466.20037 です。 |
コンストラクタの概要 | |
protected |
StartTlsResponse()
StartTLS 拡張応答を構築します。 |
メソッドの概要 | |
abstract void |
close()
TLS 接続を正常に閉じ、基本となる接続に戻ります。 |
byte[] |
getEncodedValue()
StartTLS 応答の ASN.1 BER で符号化された値を取得します。 |
String |
getID()
StartTLS 応答のオブジェクト識別子の文字列を取得します。 |
abstract SSLSession |
negotiate()
デフォルトの SSL ソケットファクトリを使用して、TLS セッションのネゴシエーションを行います。 |
abstract SSLSession |
negotiate(SSLSocketFactory factory)
デフォルトの SSL ソケットファクトリを使用して、TLS セッションのネゴシエーションを行います。 |
abstract void |
setEnabledCipherSuites(String[] suites)
この TLS 接続に対して使用可能になっているデフォルトの符号化方式をオーバーライドします。 |
abstract void |
setHostnameVerifier(HostnameVerifier verifier)
TLS ハンドシェークが完了したときに、デフォルトのホスト名検証が失敗している場合は、negotiate() によって使用されるホスト名ベリファイアを設定します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final String OID
コンストラクタの詳細 |
protected StartTlsResponse()
メソッドの詳細 |
public String getID()
ExtendedResponse
内の getID
public byte[] getEncodedValue()
ExtendedResponse
内の getEncodedValue
public abstract void setEnabledCipherSuites(String[] suites)
suites
- 使用可能にする符号化方式の名前のリスト。null は指定できないnegotiate()
public abstract void setHostnameVerifier(HostnameVerifier verifier)
verifier
- null 以外のホスト名ベリファイアのコールバックnegotiate()
public abstract SSLSession negotiate() throws IOException
このメソッドは negotiate(null) と等価です。
IOException
- TLS セッションの確立中に入出力エラーが発生した場合setEnabledCipherSuites(java.lang.String[])
,
setHostnameVerifier(javax.net.ssl.HostnameVerifier)
public abstract SSLSession negotiate(SSLSocketFactory factory) throws IOException
指定された SSL ソケットファクトリを使用して SSL ソケットを作成し、既存の接続に接続します。TLS ハンドシェークを行い、ネゴシエートされたセッションの情報を返します。
setEnabledCipherSuites を使用して符号化方式が設定されている場合、符号化方式は TLS ハンドシェークが始まる前に有効になります。
ホスト名検証は、TLS ハンドシェークの完了後に行われます。デフォルトのホスト名検証では、サーバのホスト名がサーバの証明書内のホスト名情報に対して照合されます。検証に失敗したときに、setHostnameVerifier によってコールバックが設定されていない場合は、ネゴシエーションは失敗します。検証に失敗したときに、setHostnameVerifier によってコールバックが設定されている場合は、そのコールバックを使用してネゴシエーションが成功しているかどうかが判定されます。
エラーが発生すると、SSL ソケットが閉じ、IOException がスローされます。基本となる接続は保持されます。
factory
- 使用する SSL ソケットファクトリ。null の場合もある。null の場合は、デフォルトの SSL ソケットファクトリが使用される
IOException
- TLS セッションの確立中に入出力エラーが発生した場合setEnabledCipherSuites(java.lang.String[])
,
setHostnameVerifier(javax.net.ssl.HostnameVerifier)
public abstract void close() throws IOException
IOException
- TLS セッションを閉じるときに入出力エラーが発生した場合
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.