【這特麼是個坑。。。】iOS 10.3下解決Charles抓包ssl證書信任問題

針對近期iOS 10.3以上的系統charles抓https信任問題ios

 

前言

 

最近iPhone系統更新到ios 10.3後,在公司裏用Charles抓包居然出現了一些問題,https的請求都會失敗,提示錯誤信息爲Failure SSLHandshake: Received fatal alert: unknown_ca 和You may need to configure your browser or application to trust the Charles Root Certificate. 然而以前任何問題都沒有,而且相關設置都正確:Mac上安裝了Charles的根證書,而且設置了始終信任,而後手機上也登陸了http://chls.pro/ssl安裝了描述文件,一切都按正常程序走的,可是錯誤始終沒法解決.這裏Charles的相關使用不作介紹,不會使用的請參考本文結尾處唐巧大大的博文.app

相關環境

  • Charles 4.0.2
  • iPhone 6s iOS 10.3.1

緣由

設置->通用->描述文件->charles proxy custom root certificate.net

雖然charles的根證書已經在安裝列表中顯示,但它是被關閉的。在iOS 10.3以前,當你將安裝一個自定義證書,iOS會默認信任,不須要進一步的設置。而iOS 10.3以後,安裝新的自定義證書默認是不受信任的。若是要信任已安裝的自定義證書,須要手動打開開關以信任證書。blog

解決

設置->通用->關於本機->證書信任設置-> 找到charles proxy custom root certificate而後信任該證書便可.ssl


信任證書

後記

問題雖小,可是頗有必要普及一下.這個設置證書信任的開關界面隱藏的很深,是iOS 10.3以後出現的(貌似是,至少以前我沒見過).這個問題所以也只有在iOS 10.3的設備上纔會出現,真是太意外了!所以做爲iOS開發者,更新手機系統時,瞭解一下系統更新的相關內容也變得頗有必要.開發

相關文章
相關標籤/搜索