簡體   English   中英

使用AFNetworking進行SSL證書驗證

[英]SSL Certificate validation with AFNetworking

我理解SSL證書的使用和必要性。 我正在尋找http協議和SSL證書之間以及https和SSL證書之間關系的詳細說明。

在AFNetworking中定義_AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_允許無效證書。 假設未設置此標志,則庫應默認拒絕無效證書。 但是,如果服務器端沒有安裝證書怎么辦? 我看到我可以使用http協議訪問沒有證書的服務器。

是否僅針對https協議進行默認證書驗證?

我想只訪問那些帶有證書且通過http和https有效的服務器? 是否需要此功能,如果可以的話?

我想你不明白HTTP和HTTPS的含義:

  • http是與沒有加密的服務器通信的會話協議。 所有內容都以明文形式發送,也無法驗證服務器的真實性(即服務器響應確實具有正確的主機名)。 在這種情況下,服務器不需要SSL證書。
  • 如果要確保與服務器的通信已加密,則使用https。 為此,服務器需要SSL證書,在通過HTTP會話發送任何內容之前,將發生握手,允許客戶端獲取服務器的SSL證書以加密發送的數據。 因此,SSL證書僅用於HTTPS連接。

根據所使用的SSL證書,還可以驗證服務器的真實性。 所有瀏覽器(默認情況下在iOS上,除非您在應用程序中明確更改此選項)將僅接受已知證書頒發機構頒發的SSL證書。 這樣,您可以確保服務器確實位於您請求的主機名。 根據SSL證書,服務器的所有者也可能被驗證(即服務器確實屬於它聲稱屬於的公司)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM