|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.net.ssl.SSLContext
public class SSLContext
此類別的實例表示安全Socket協議的實作,它充當用於安全Socket處理器或 SSLEngine
的處理器。用可選的一組密鑰和信任管理器及安全隨機位元組源初始化此類別。
建構子摘要 | |
---|---|
protected |
SSLContext(SSLContextSpi contextSpi,
Provider provider,
String protocol)
創建 SSLContext 物件。 |
方法摘要 | |
---|---|
SSLEngine |
createSSLEngine()
使用此上下文創建新的 SSLEngine 。 |
SSLEngine |
createSSLEngine(String peerHost,
int peerPort)
使用此上下文創建新的 SSLEngine ,該上下文使用勸告同位體資訊。 |
SSLSessionContext |
getClientSessionContext()
返回客戶端Session上下文,它表示可供客戶端 SSL Socket連繫交換階段所使用的 SSL Session集。 |
static SSLContext |
getDefault()
返回預設的 SSL 上下文。 |
SSLParameters |
getDefaultSSLParameters()
返回表示此 SSL 上下文預設設置的 SSLParameters 的副本。 |
static SSLContext |
getInstance(String protocol)
返回實作指定安全Socket協議的 SSLContext 物件。 |
static SSLContext |
getInstance(String protocol,
Provider provider)
返回實作指定安全Socket協議的 SSLContext 物件。 |
static SSLContext |
getInstance(String protocol,
String provider)
返回實作指定安全Socket協議的 SSLContext 物件。 |
String |
getProtocol()
返回此 SSLContext 物件的協議名稱。 |
Provider |
getProvider()
返回此 SSLContext 物件的提供者。 |
SSLSessionContext |
getServerSessionContext()
返回伺服器Session上下文,它表示可供伺服器端 SSL Socket連繫交換階段所使用的 SSL Session集。 |
SSLServerSocketFactory |
getServerSocketFactory()
返回此上下文的 ServerSocketFactory 物件。 |
SSLSocketFactory |
getSocketFactory()
返回此上下文的 SocketFactory 物件。 |
SSLParameters |
getSupportedSSLParameters()
返回表示此 SSL 上下文受支持設置的 SSLParameters 的副本。 |
void |
init(KeyManager[] km,
TrustManager[] tm,
SecureRandom random)
初始化此上下文。 |
static void |
setDefault(SSLContext context)
設置預設的 SSL 上下文。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
protected SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)
contextSpi
- 代理provider
- 提供者protocol
- 協議方法詳細資訊 |
---|
public static SSLContext getDefault() throws NoSuchAlgorithmException
如果預設上下文是使用 SSLContext.setDefault()
方法設置的,則返回該上下文。否則,第一次調用此方法將觸發調用 SSLContext.getInstance("Default")
。如果成功,則該物件成為預設的 SSL 上下文並返回。
預設上下文立即可用並且無需初始化。
NoSuchAlgorithmException
- 如果 SSLContext.getInstance()
調用失敗public static void setDefault(SSLContext context)
getDefault()
的後續調用返回。預設上下文必須立即可用並且無需初始化。
context
- SSLContext
NullPointerException
- 如果 context 為 null
SecurityException
- 如果安全管理器存在並且其 checkPermission
方法不允許 SSLPermission("setDefaultSSLContext")
public static SSLContext getInstance(String protocol) throws NoSuchAlgorithmException
SSLContext
物件。
此方法從首選提供者開始遍歷已註冊安全提供者列表。返回一個封裝 SSLContextSpi 實作的新 SSLContext 物件,該實作取自支持指定協議的第一個提供者。
注意,可以通過 Security.getProviders()
方法獲取已註冊提供者列表。
protocol
- 所請求協議的標準名稱。有關標準協議名稱的資訊,請參見
Java Secure Socket Extension Reference Guide 的附錄 A。
SSLContext
物件。
NoSuchAlgorithmException
- 如果沒有提供者支持指定協議的 TrustManagerFactorySpi 實作。Provider
public static SSLContext getInstance(String protocol, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
SSLContext
物件。
返回一個封裝 SSLContextSpi 實作的新 SSLContext 物件,該實作取自指定的提供者。指定的提供者必須在安全提供者列表中註冊。
注意,可以通過 Security.getProviders()
方法獲取已註冊提供者列表。
protocol
- 所請求協議的標準名稱。有關標準協議名稱的資訊,請參見
Java Secure Socket Extension Reference Guide 的附錄 A。provider
- 提供者的名稱。
SSLContext
物件。
NoSuchAlgorithmException
- 如果不能從指定提供者獲得指定協議的 SSLContextSpi 實作。
NoSuchProviderException
- 如果指定提供者未在安全提供者列表中註冊。
IllegalArgumentException
- 如果提供者的名稱為 null 或空。Provider
public static SSLContext getInstance(String protocol, Provider provider) throws NoSuchAlgorithmException
SSLContext
物件。
返回一個封裝 SSLContextSpi 實作的新 SSLContext 物件,該實作取自指定的 Provider 物件。 注意,指定的 Provider 物件無需在提供者列表中註冊。
protocol
- 所請求協議的標準名稱。有關標準協議名稱的資訊,請參見
Java Secure Socket Extension Reference Guide 的附錄 A。provider
- 提供者的實例。
SSLContext
物件。
NoSuchAlgorithmException
- 如果不能從指定 Provider 物件獲得指定協議的 KeyManagerFactorySpi 實作。
IllegalArgumentException
- 如果提供者的名稱為 null。Provider
public final String getProtocol()
SSLContext
物件的協議名稱。
這與創建此 SSLContext
物件的某個 getInstance
調用中所指定的名稱相同。
SSLContext
物件的協議名稱。public final Provider getProvider()
SSLContext
物件的提供者。
SSLContext
物件的提供者public final void init(KeyManager[] km, TrustManager[] tm, SecureRandom random) throws KeyManagementException
只有陣列中的第一個特定密鑰和/或信任管理器實作型別的實例被使用。(例如,只有陣列中的第一個 javax.net.ssl.X509KeyManager 被使用。)
km
- 驗證密鑰源或 nulltm
- 同位體驗證信任決策源或 nullrandom
- 此產生器的隨機源或 null
KeyManagementException
- 如果此操作失敗public final SSLSocketFactory getSocketFactory()
SocketFactory
物件。
SocketFactory
物件
IllegalStateException
- 如果 SSLContextImpl 需要初始化並且尚未調用 init()
public final SSLServerSocketFactory getServerSocketFactory()
ServerSocketFactory
物件。
ServerSocketFactory
物件
IllegalStateException
- 如果 SSLContextImpl 需要初始化並且尚未調用 init()
public final SSLEngine createSSLEngine()
SSLEngine
。
使用此處理器方法的應用程序不為內部Session重用策略提供提示。如果需要提示,則應該使用 createSSLEngine(String, int)
。
某些密碼套件(例如 Kerberos)需要遠端主機名資訊,在這種情況下不應該使用此處理器方法。
SSLEngine
物件
UnsupportedOperationException
- 如果底層提供者不實作該操作。
IllegalStateException
- 如果 SSLContextImpl 需要初始化並且尚未調用 init()
public final SSLEngine createSSLEngine(String peerHost, int peerPort)
SSLEngine
,該上下文使用勸告同位體資訊。
使用此處理器方法的應用程序為內部Session重用策略提供提示。
某些密碼套件(例如 Kerberos)需要遠端主機名資訊,在這種情況下需要指定 peerHost。
peerHost
- 主機的非授權名peerPort
- 非授權埠號
SSLEngine
物件
UnsupportedOperationException
- 如果底層提供者不實作該操作。
IllegalStateException
- 如果 SSLContextImpl 需要初始化並且尚未調用 init()
public final SSLSessionContext getServerSessionContext()
此上下文在一些環境下可能不可用,在這種情況下此方法返回 null。例如,當底層 SSL 提供者不提供 SSLSessionContext 介面實作時,此方法返回 null。否則返回非 null Session上下文。
public final SSLSessionContext getClientSessionContext()
此上下文在一些環境下可能不可用,在這種情況下此方法返回 null。例如,當底層 SSL 提供者不提供 SSLSessionContext 介面實作時,此方法返回 null。否則返回非 null Session上下文。
public final SSLParameters getDefaultSSLParameters()
該參數將始終具有密碼套件和設置為非 null 值的協議陣列。
UnsupportedOperationException
- 如果不能獲得預設的 SSL 參數。public final SSLParameters getSupportedSSLParameters()
該參數將始終具有密碼套件和設置為非 null 值的協議陣列。
UnsupportedOperationException
- 如果不能獲得受支持的 SSL 參數。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。