JavaTM 2 Platform
Standard Ed. 5.0

javax.naming.ldap
クラス StartTlsRequest

java.lang.Object
  上位を拡張 javax.naming.ldap.StartTlsRequest
すべての実装されたインタフェース:
Serializable, ExtendedRequest

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
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 も参照してください。