針對近期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 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開發者,更新手機系統時,瞭解一下系統更新的相關內容也變得頗有必要.開發