你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS編程技術 >> 關於iOS SDK中HTTPS強制握手的經驗分享

關於iOS SDK中HTTPS強制握手的經驗分享

編輯:IOS編程技術

因項目需要,對HTTPS強制握手作了研究,分享處理方法如下:

一、 問題與需求

  問題:接入方可能對同個域名做了HTTPS證書驗證,在緩存機制下,進入SDK中默認復用HTTPS握手;或者NSURLProtocol對驗證作了攔截。

  需求: 基於SDK方不信任接入方驗證,需強制重新握手。

 

二、理論前提

  1. 握手緩存以IP地址,DNS域名,端口為KEY對握手作緩存

  2. “www.xxx.com”, “www.xxx.com.”會有相同的DNS解析結果

 

三、解決方案

  1. 服務器方給出專用IP,域名或端口

  2. 客戶端:

    a. 在統一入口的API訪問時,將域名後加“.”作為偽造URL

    b. 偽造URL觸發握手後,請求返回didLoad或失敗did fail均不作處理,將偽造API去除“.”,

        變回標准API,繼續正常通訊

    c. SDK握手添加標識,因URLProtocol或證書緩存導致的 “跳過驗證“ 均可被防御

 

四、負作用

  1.不復用接入方的握手,增加了網絡訪問時間

      2.增加了一次偽造URL訪問的通訊時間

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved