本文章摘自:http://www.cnblogs.com/yanghj010/p/7060989.html
感謝作者垃帅,真TMD大坑,研究了半天剪勿,終于百度到作者踩得坑贸诚,測試確實(shí)是的。
iOS 10.3版本以上均存在該坑厕吉。酱固。。头朱。無語媒怯。。髓窜。扇苞。
針對(duì)近期iOS 10.3以上的系統(tǒng)charles抓https信任問題
前言
最近iPhone系統(tǒng)更新到ios 10.3后,在公司里用Charles抓包竟然出現(xiàn)了一些問題,https的請(qǐng)求都會(huì)失敗,提示錯(cuò)誤信息為Failure SSLHandshake: Received fatal alert: unknown_ca 和You may need to configure your browser or application to trust the Charles Root Certificate. 然而之前任何問題都沒有,并且相關(guān)設(shè)置都正確:Mac上安裝了Charles的根證書,并且設(shè)置了始終信任,然后手機(jī)上也登錄了http://chls.pro/ssl安裝了描述文件,一切都按正常程序走的,但是錯(cuò)誤始終無法解決.這里Charles的相關(guān)使用不做介紹,不會(huì)使用的請(qǐng)參考本文結(jié)尾處唐巧大大的博文.
相關(guān)環(huán)境
Charles 4.0.2
iPhone 6s iOS 10.3.1
原因
設(shè)置->通用->描述文件->charles proxy custom root certificate
雖然charles的根證書已經(jīng)在安裝列表中顯示,但它是被關(guān)閉的。在iOS 10.3之前,當(dāng)你將安裝一個(gè)自定義證書,iOS會(huì)默認(rèn)信任,不需要進(jìn)一步的設(shè)置寄纵。而iOS 10.3之后,安裝新的自定義證書默認(rèn)是不受信任的鳖敷。如果要信任已安裝的自定義證書,需要手動(dòng)打開開關(guān)以信任證書。
解決
設(shè)置->通用->關(guān)于本機(jī)->證書信任設(shè)置-> 找到charles proxy custom root certificate然后信任該證書即可.
信任證書
后記
問題雖小,但是很有必要普及一下.這個(gè)設(shè)置證書信任的開關(guān)界面隱藏的很深,是iOS 10.3之后出現(xiàn)的(貌似是,至少之前我沒見過).這個(gè)問題因此也只有在iOS 10.3的設(shè)備上才會(huì)出現(xiàn),真是太意外了!因此作為iOS開發(fā)者,更新手機(jī)系統(tǒng)時(shí),了解一下系統(tǒng)更新的相關(guān)內(nèi)容也變得很有必要.