JavaTM 2
Platform
Std. Ed. v1.4.0

javax.naming.ldap
クラス StartTlsRequest

java.lang.Object
  |
  +--javax.naming.ldap.StartTlsRequest
すべての実装インタフェース:
ExtendedRequest, Serializable

public class StartTlsRequest
extends Object
implements ExtendedRequest

このクラスは、Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security に定義されている、LDAPv3 の StartTLS 拡張要求を実装します。StartTLS のオブジェクト識別子は 1.3.6.1.4.1.1466.20037 です。拡張要求の値は定義されていません。

StartTlsRequest/StartTlsResponse は、TLS 接続を確立するときに使用します。TLS 接続は、extendedOperation() を呼び出した JNDI コンテキストに関連付けられた既存の LDAP 接続上に確立されます。通常、JNDI プログラムでは、これらのクラスを次のように使用します。

 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, etc.
 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;
 

導入されたバージョン:
1.4
関連項目:
StartTlsResponse, 直列化された形式

フィールドの概要
static String OID
          StartTLS 拡張要求に割り当てられているオブジェクト識別子は 1.3.6.1.4.1.1466.20037 です。
 
コンストラクタの概要
StartTlsRequest()
          StartTLS 拡張要求を構築します。
 
メソッドの概要
 ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length)
          LDAP StartTLS 拡張要求に対応する拡張応答オブジェクトを作成します。
 byte[] getEncodedValue()
          StartTLS 要求の ASN.1 BER で符号化された値を取得します。
 String getID()
          StartTLS 要求のオブジェクト識別子の文字列を取得します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

OID

public static final String OID
StartTLS 拡張要求に割り当てられているオブジェクト識別子は 1.3.6.1.4.1.1466.20037 です。

関連項目:
定数フィールド値
コンストラクタの詳細

StartTlsRequest

public StartTlsRequest()
StartTLS 拡張要求を構築します。

メソッドの詳細

getID

public String getID()
StartTLS 要求のオブジェクト識別子の文字列を取得します。

定義:
インタフェース ExtendedRequest 内の getID
戻り値:
オブジェクト識別子の文字列、1.3.6.1.4.1.1466.20037

getEncodedValue

public byte[] getEncodedValue()
StartTLS 要求の ASN.1 BER で符号化された値を取得します。StartTLS 要求には定義済みの値がないため、常に null が返されます。

定義:
インタフェース ExtendedRequest 内の getEncodedValue
戻り値:
null 値

createExtendedResponse

public ExtendedResponse createExtendedResponse(String id,
                                               byte[] berValue,
                                               int offset,
                                               int length)
                                        throws NamingException
LDAP StartTLS 拡張要求に対応する拡張応答オブジェクトを作成します。

この結果は、引数なしの public コンストラクタを持つ、StartTlsResponse の具象サブクラスでなければなりません。

このメソッドは、実装クラスを検索するために、次の名前の設定ファイルを検索します。

META-INF/services/javax.naming.ldap.StartTlsResponse
設定ファイルおよび対応する実装クラスは、呼び出し側スレッドのコンテキストクラスローダからアクセスできなければなりません。

それぞれの設定ファイルには、完全指定クラス名が 1 行に 1 つずつ指定されているリストが含まれている必要があります。それぞれの名前を囲む空白文字とタブ文字、および空白行は無視されます。コメント文字は '#' (0x23) で、行の最初のコメント文字に続く文字はすべて無視されます。ファイルは UTF-8 で符号化されている必要があります。

このメソッドは、設定ファイルから収集したクラス名のリストから、最初にロードおよびインスタンス化できた実装クラスのインスタンスを返します。このメソッドは、呼び出し側スレッドのコンテキストクラスローダを使用して設定ファイルを検索し、実装クラスをロードします。

上記の方法でクラスが見つからなかった場合は、実装固有の方法で実装を検索します。実装が見つからなかった場合は NamingException がスローされます。

定義:
インタフェース ExtendedRequest 内の createExtendedResponse
パラメータ:
id - 拡張応答のオブジェクト識別子。値は「1.3.6.1.4.1.1466.20037」または null でなければならない。この 2 つの値は等価である
berValue - 拡張応答の ASN.1 BER で符号化された値。値は null の場合もある。この値は、応答値のタグと長さを含む raw BER バイトである。ただし、応答 OID は含まない。StartTLS 応答は応答値を含まないため、この値は無視される
offset - 使用するバイトの開始位置 (berValue)。StartTLS 応答は応答値を含まないため、この値は無視される
length - 使用するバイト数 (berValue)。StartTLS 応答は応答値を含まないため、この値は無視される
戻り値:
StartTLS 拡張応答オブジェクト
例外:
NamingException - StartTLS 拡張応答オブジェクトの作成中にネーミング例外が発生した場合
関連項目:
ExtendedResponse

JavaTM 2
Platform
Std. Ed. v1.4.0

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

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.