SSLEngine.HandshakeApplicationProtocolSelector 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在 SSL/TLS 握手期間,取得回調函式,選擇應用程式協定值。 -或- 註冊一個回撥函式,選擇應用協定值以進行 SSL/TLS 握手。
public virtual Java.Util.Functions.IBiFunction? HandshakeApplicationProtocolSelector { [Android.Runtime.Register("getHandshakeApplicationProtocolSelector", "()Ljava/util/function/BiFunction;", "GetGetHandshakeApplicationProtocolSelectorHandler", ApiSince=29)] get; [Android.Runtime.Register("setHandshakeApplicationProtocolSelector", "(Ljava/util/function/BiFunction;)V", "GetSetHandshakeApplicationProtocolSelector_Ljava_util_function_BiFunction_Handler", ApiSince=29)] set; }
[<get: Android.Runtime.Register("getHandshakeApplicationProtocolSelector", "()Ljava/util/function/BiFunction;", "GetGetHandshakeApplicationProtocolSelectorHandler", ApiSince=29)>]
[<set: Android.Runtime.Register("setHandshakeApplicationProtocolSelector", "(Ljava/util/function/BiFunction;)V", "GetSetHandshakeApplicationProtocolSelector_Ljava_util_function_BiFunction_Handler", ApiSince=29)>]
member this.HandshakeApplicationProtocolSelector : Java.Util.Functions.IBiFunction with get, set
屬性值
回調函式,若未設定回調函式則為 null。
- 屬性
備註
財產取得者文件:
在 SSL/TLS 握手期間,取得回調函式,選擇應用程式協定值。 請參見 #setHandshakeApplicationProtocolSelector setHandshakeApplicationProtocolSelector 函式的型別參數。
新增9。
Java 文件 javax.net.ssl.SSLEngine.getHandshakeApplicationProtocolSelector()。
屬性設定文件:
註冊一個回調函式,選擇 SSL/TLS 握手的應用程式協定值。 此函式會覆寫所有提供的SSLParameters#setApplicationProtocols SSLParameters.setApplicationProtocols值,並支援以下類型參數:<blockquote><dl<>dtSSLEngine<>dd> 函式的第一個參數允許檢查電流SSLEngine,包括握手會話及設定。
<dt>List<String><dd> 函式的第二個參數列出了 TLS 對等端所宣告的應用程式協定名稱。
<dt>String<dd> 函式的結果是應用程式協定名稱,或為空,表示所有宣告名稱都不可接受。 若回傳值為空 String ,則不會使用應用協定指示。 如果回傳值為空值(未選擇值)或是對端未公告的值,底層協議將決定應採取的行動。 (例如,ALPN 會發送「no_application_protocol」警示並終止連線。) </dl></區塊引用>
例如,以下呼叫註冊一個回調函式,檢查 TLS 握手參數並選擇應用程式協定名稱:
{@code
serverEngine.setHandshakeApplicationProtocolSelector(
(serverEngine, clientProtocols) -> {
SSLSession session = serverEngine.getHandshakeSession();
return chooseApplicationProtocol(
serverEngine,
clientProtocols,
session.getProtocol(),
session.getCipherSuite());
});
}
新增9。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。