|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.naming.ldap.StartTlsResponse
public abstract class StartTlsResponse
此類別實作在 Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security 中定義的 StartTLS 的 LDAPv3 擴展回應。 StartTLS 的物件標識符為 1.3.6.1.4.1.1466.20037,沒有定義任何擴展回應值。
使用 Start TLS 擴展請求和回應在與 JNDI 上下文(對該上下文調用 extendedOperation())關聯的現有 LDAP 連接上建立 TLS 連接。通常,JNDI 程序使用以下 Start TLS 擴展請求和回應類別。
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 Socket處理器協商 TLS Session。 |
abstract SSLSession |
negotiate(SSLSocketFactory factory)
使用 SSL Socket處理器協商 TLS Session。 |
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 Session時遇到 IO 錯誤。setEnabledCipherSuites(java.lang.String[])
,
setHostnameVerifier(javax.net.ssl.HostnameVerifier)
public abstract SSLSession negotiate(SSLSocketFactory factory) throws IOException
使用提供的 SSL Socket處理器創建 SSL Socket,並將其附加到現有連接上。執行 TLS 連繫交換並返回協商的Session資訊。
如果密碼套件是通過 setEnabledCipherSuites 設置的,則需要在 TLS 連繫交換開始之前啟用這些套件。
主機名校驗在 TLS 連繫交換完成之後執行。預設的主機名校驗將伺服器主機名與存在於伺服器證書中的主機名資訊進行比對。如果此校驗失敗且沒有通過 setHostnameVerifier 設置任何回調,則協商失敗。如果此校驗失敗但通過 setHostnameVerifier 設置了回調,則使用回調確定協商是否成功。
如果發生錯誤,則關閉 SSL Socket並拋出 IOException。底層連接保持原樣。
factory
- 要使用的 SSL Socket處理器(可能為 null)。如果為 null,則使用預設的 SSL Socket處理器。
IOException
- 如果在建立 TLS Session時遇到 IO 錯誤。setEnabledCipherSuites(java.lang.String[])
,
setHostnameVerifier(javax.net.ssl.HostnameVerifier)
public abstract void close() throws IOException
IOException
- 如果在關閉 TLS 連接時遇到 IO 錯誤
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。