HttpEngine.Builder.AddPublicKeyPins 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
為某個主機釘選一組公鑰。
[Android.Runtime.Register("addPublicKeyPins", "(Ljava/lang/String;Ljava/util/Set;ZLjava/time/Instant;)Landroid/net/http/HttpEngine$Builder;", "GetAddPublicKeyPins_Ljava_lang_String_Ljava_util_Set_ZLjava_time_Instant_Handler", ApiSince=34)]
public virtual Android.Net.Http.HttpEngine.Builder AddPublicKeyPins(string hostName, System.Collections.Generic.ICollection<byte[]> pinsSha256, bool includeSubdomains, Java.Time.Instant expirationInstant);
[<Android.Runtime.Register("addPublicKeyPins", "(Ljava/lang/String;Ljava/util/Set;ZLjava/time/Instant;)Landroid/net/http/HttpEngine$Builder;", "GetAddPublicKeyPins_Ljava_lang_String_Ljava_util_Set_ZLjava_time_Instant_Handler", ApiSince=34)>]
abstract member AddPublicKeyPins : string * System.Collections.Generic.ICollection<byte[]> * bool * Java.Time.Instant -> Android.Net.Http.HttpEngine.Builder
override this.AddPublicKeyPins : string * System.Collections.Generic.ICollection<byte[]> * bool * Java.Time.Instant -> Android.Net.Http.HttpEngine.Builder
參數
- hostName
- String
應將公鑰釘選的主機名稱。 僅由數字和點字元組成的主機會被視為無效。 這個值不可能為零值。
- pinsSha256
- ICollection<Byte[]>
一組別針。 每個腳位都是 SHA-256 加密雜湊,該 ASN.1 表示主機 X.509 證書的主體公鑰資訊(SPKI)。 使用 Certificate.getPublicKey() 和 Key.getEncoded() 來取得 SPKI 的 DER 編碼 ASN.1 表示。 雖然此方法不強制必須有備用腳位,以防主私鑰控制權遺失,但強烈建議提供備用腳位。 這個值不可能為零值。
- includeSubdomains
- Boolean
指示是否應將釘選政策套用於 hostName 的子網域。
- expirationInstant
- Instant
指定腳位的過期時刻。 這個值不可能為零值。
傳回
建造者用來促進連鎖。 這個值不可能為零值。
- 屬性
備註
為某個主機釘選一組公鑰。 透過釘選一組公鑰 pinsSha256,與 hostName 的通訊必須用來自釘選公鑰集合的公鑰憑證來認證。 應用程式可以釘選根憑證的公開金鑰、任何中介憑證或終端憑證。 如果主機的憑證鏈中沒有任何公開金鑰存在,即使主機嘗試用裝置可信憑證庫允許的憑證進行認證,認證將失敗且無法建立安全通訊。
以同一主機名稱多次呼叫此方法,會覆蓋先前設定的主機腳位。
關於公鑰釘釘的更多資訊可參考 RFC 7469。
Android 參考資料。android.net.http.HttpEngine.Builder.addPublicKeyPins
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。