- java.lang.Object
-
- javax.naming.ldap.StartTlsRequest
-
- All Implemented Interfaces:
-
Serializable
,ExtendedRequest
public class StartTlsRequest extends Object implements ExtendedRequest
该类实现了针对StartTLS的LDAPv3扩展请求,如Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security中定义的。StartTLS的对象标识符为1.3.6.1.4.1.1466.20037,未定义扩展请求值。StartTlsRequest
/StartTlsResponse
用来建立在具有在其上JNDI上下文相关联的现有的LDAP连接的TLS连接extendedOperation()
被调用。 通常,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
, Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 StartTlsRequest()
构建一个StartTLS扩展请求。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 ExtendedResponse
createExtendedResponse(String id, byte[] berValue, int offset, int length)
创建对应于LDAP StartTLS扩展请求的扩展响应对象。byte[]
getEncodedValue()
检索StartTLS请求的ASN.1 BER编码值。String
getID()
检索StartTLS请求的对象标识符字符串。
-
-
-
字段详细信息
-
OID
public static final String OID
StartTLS扩展请求的分配对象标识符为1.3.6.1.4.1.1466.20037。- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
getID
public String getID()
检索StartTLS请求的对象标识符字符串。- Specified by:
-
getID
在接口ExtendedRequest
- 结果
- 对象标识符字符串“1.3.6.1.4.1.1466.20037”。
-
getEncodedValue
public byte[] getEncodedValue()
检索StartTLS请求的ASN.1 BER编码值。 由于请求没有定义的值,因此始终返回null。- Specified by:
-
getEncodedValue
在接口ExtendedRequest
- 结果
- 空值。
-
createExtendedResponse
public ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length) throws NamingException
创建对应于LDAP StartTLS扩展请求的扩展响应对象。结果必须是StartTlsResponse的具体子类,并且必须具有公共零参数构造函数。
该方法通过查找具有以下名称的配置文件来定位实现类:
META-INF/services/javax.naming.ldap.StartTlsResponse
每个配置文件应包含一个完全限定类名的列表,每行一个。 忽略每个名称周围的空格和制表符,以及空白行。 评论人物为
'#'
(0x23
); 在每行上,忽略第一个注释字符之后的所有字符。 文件必须以UTF-8编码。该方法将返回第一个实现类的实例,它可以从配置文件收集的类名列表中成功加载和实例化。 该方法使用调用线程的上下文类加载器来查找配置文件并加载实现类。
如果没有类可以这样找到,这个方法将使用实现特定的方法来定位一个实现。 如果没有找到,则抛出NamingException。
- Specified by:
-
createExtendedResponse
在接口ExtendedRequest
- 参数
-
id
- 扩展响应的对象标识符。 其值必须为“1.3.6.1.4.1.1466.20037”或null。 这两个值是等效的。 -
berValue
- 扩展响应的可能为零的ASN.1 BER编码值。 这是包含标签和响应值长度的原始BER字节。 它不包括响应OID。 它的值将被忽略,因为启动TLS响应不会包含任何响应值。 -
offset
- 在berValue中使用的字节的起始位置。 它的值将被忽略,因为启动TLS响应不会包含任何响应值。 -
length
- berValue中要使用的字节数。 它的值将被忽略,因为启动TLS响应不会包含任何响应值。 - 结果
- StartTLS扩展响应对象。
- 异常
-
NamingException
- 如果在创建StartTLS扩展响应对象时遇到命名异常。 - 另请参见:
-
ExtendedResponse
-
-