2015-05-13 114 views
4

我有一個根證書,用於簽署服務器上的不同子域名,這基本上是在後端實施SNI。現在,我該如何使用該證書和子域名來驗證請求。AFNetworking支持SNI

回答

2

開箱即用支持SNI。而且從我的經驗,它的工作原理(單IP兩個二級域)

我看到3個原因,如果它不爲你工作:

  1. 後端配置不正確。您可以檢查服務器是否使用Safari返回預期的證書。
  2. 您的證書是自簽名的。在這種情況下,您應該檢查AFSecurityPolicy以獲取固定證書,SNI沒有什麼特別之處。
  3. 您的證書對於子域無效。這也可以通過AFSecurityPolicy進行檢查。
+0

我已確認我的後端配置正確,因爲具有主機名的相同證書正在Android Web服務調用中工作。證書對於域名有效,並且對於驗證子域我們定義了主機名。正確鎖定證書。你有任何想法如何在iOS中實現。 –

+0

如果您使用的是證書鎖定,我將從AFSecurityPolicy.evaluateServerTrust中的斷點開始,您可以在其中檢查連接建立的許多方面:如果證書檢查開始;客戶收到的證書;該方法的哪一步返回NO。 順便說一下,您目前收到哪個錯誤? –

+0

您的第三點,如何檢查AFSecurityPolicy? –