SSLCertificateSocketFactory 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
SSLSocketFactory 實作,具備多項額外功能:
<ul>
<li>Timeout specification for SSL handshake operations
<li>Hostname verification in most cases (see WARNINGs below)
<li>Optional SSL session caching with <code data-dev-comment-type="c">SSLSessionCache</code><li>Optionally bypass all SSL certificate checks
</ul>
The handshake timeout does not apply to actual TCP socket connection.
[Android.Runtime.Register("android/net/SSLCertificateSocketFactory", DoNotGenerateAcw=true)]
public class SSLCertificateSocketFactory : Javax.Net.Ssl.SSLSocketFactory
[<Android.Runtime.Register("android/net/SSLCertificateSocketFactory", DoNotGenerateAcw=true)>]
type SSLCertificateSocketFactory = class
inherit SSLSocketFactory
- 繼承
- 屬性
備註
SSLSocketFactory 實作,具備多項額外功能:
<ul>li SSL 握手操作<的逾時規範 li>大多數情況下的主機名稱驗證(見下方警告) <li>可選的 SSL 會話快取<>SSLSessionCache 可選擇性繞過所有 SSL 憑證檢查 </ul><>
握手逾時不適用於實際的 TCP 套接字連線。 如果你也想要連線逾時,請使用 #createSocket() 和 Socket#connect(java.net.SocketAddress, int),之後你必須驗證你所連接伺服器的身份。
<b>大多數 SSLSocketFactory 實作不驗證伺服器身份,允許中間人攻擊。</b> 此實作確實會檢查伺服器的憑證主機名稱,但僅限於指定主機名稱的 createSocket 變體。 使用使用 InetAddress 或回傳未連接套接字的方法時,你必須自行驗證伺服器身份以確保連線安全。
詳情請參閱 更新您的安全供應商以防範 SSL 漏洞 。
驗證伺服器身份的建議方法是使用 HttpsURLConnection#getDefaultHostnameVerifier() 來 HostnameVerifier 驗證憑證主機名稱。
<b>警告</b>:本類別中某些方法回傳連接套接字,部分回傳未連接套接字。 對於回傳連接套接字的方法,設定連接或握手相關屬性不會有影響。
在開發裝置上,「setprop socket.relaxsslcheck yes」會繞過所有 SSL 憑證和主機名稱檢查以進行測試。 此設定需要 root 權限。
此會員已被棄用。 此類別使用標準 API 的替換程式較少出錯。 要創造 SSLSocket,則可從 或 SSLSocketFactory取得 SSLSocketFactory#getDefault()javax.net.ssl.SSLContext#getSocketFactory() 。 要驗證主機名稱,請傳送 "HTTPS" 至 javax.net.ssl.SSLParameters#setEndpointIdentificationAlgorithm(String)。 要啟用 ALPN,請使用 javax.net.ssl.SSLParameters#setApplicationProtocols(String[])。 要啟用 SNI,請使用 javax.net.ssl.SSLParameters#setServerNames(java.util.List)。
Java 文件 android.net.SSLCertificateSocketFactory。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| SSLCertificateSocketFactory(Int32) |
已淘汰.
此會員已被棄用。 |
| SSLCertificateSocketFactory(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| JniPeerMembers |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| CreateSocket() |
會造成一個沒有連接的插座。 (繼承來源 SocketFactory) |
| CreateSocket(InetAddress, Int32, InetAddress, Int32) |
已淘汰.
會產生插槽。 |
| CreateSocket(InetAddress, Int32) |
已淘汰.
會產生插槽。 |
| CreateSocket(Socket, String, Int32, Boolean) |
已淘汰.
會產生插槽。 |
| CreateSocket(String, Int32, InetAddress, Int32) |
已淘汰.
會產生插槽。 |
| CreateSocket(String, Int32) |
已淘汰.
會產生插槽。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| Equals(Object) |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetDefault(Int32, SSLSessionCache) |
回傳一個新的 socket factory 實例,並可選地啟用握手逾時和 SSL 會話快取。 |
| GetDefault(Int32) |
回傳一個新的 socket factory 實例,並可選地設定握手逾時。 |
| GetDefaultCipherSuites() |
已淘汰.
回傳預設啟用的密碼套件名稱。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetHttpSocketFactory(Int32, SSLSessionCache) |
已淘汰.
回傳一個套接字工廠(同名 SSLSocketFactory,但命名空間不同),用於 Apache HTTP 堆疊。 |
| GetInsecure(Int32, SSLSessionCache) |
回傳一個關閉所有 SSL 安全檢查的新套接字工廠實例,使用可選的握手逾時與 SSL 會話快取。 |
| GetNpnSelectedProtocol(Socket) |
回傳由用戶端與伺服器選擇 的下一次協定協商(NPN) 協定,若未協商則為空協定。 |
| GetSupportedCipherSuites() |
已淘汰.
回傳支援且可啟用 SSL 連線的密碼套件名稱。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetHostname(Socket, String) |
啟用特定套接字的伺服器名稱指示(SNI)。 |
| SetKeyManagers(IKeyManager[]) |
將 s 設定 |
| SetNpnProtocols(Byte[][]) |
設定該節點感興趣的 下一次協議協商(NPN) 協議。 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| SetTrustManagers(ITrustManager[]) |
將 s 設定 |
| SetUseSessionTickets(Socket, Boolean) |
啟用該套接字的 會話工單 支援。 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| IJavaPeerable.Finalized() |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| IJavaPeerable.JniObjectReferenceControlBlock |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
SSLSocketFactory 實作,具備多項額外功能:
(繼承來源 JavaObject)
|
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
SSLSocketFactory 實作,具備多項額外功能:
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |