部分安卓系統(tǒng)會出現(xiàn)安裝了 fiddler 證書,設(shè)置了證書信任,甚至把證書移動到系統(tǒng)目錄時,https 網(wǎng)頁依舊提示證書不可信;
使用 monitor 檢查 log 信息發(fā)現(xiàn)提示:
E/chromium(8753): [ERROR:ssl_client_socket_impl.cc(941)] handshake failed; returned -1, SSL error code 1, net_error -213
搜索報錯信息,找到 chromium project 的源碼,發(fā)現(xiàn)似乎是 MapLastOpenSSLError 函數(shù)返回的 -213 錯誤,錯誤代碼的宏格式為 ERR_SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS;
搜索 "ssl error code list" 找到 net_error_list.h,發(fā)現(xiàn) -213 錯誤的詳細宏定義為:
// The certificate's validity period is too long.
NET_ERROR(CERT_VALIDITY_TOO_LONG, -213)
繼續(xù)搜索 "fiddler The certificate's validity period is too long." 在 Fiddler 論壇找到該帖子,看起來有人碰到過類似問題且已有解決方案:
在 Fiddler 插件頁面 找到并下載
CertMaker for iOS and Android
雙擊下載好的 exe,重啟 Fiddler,在 Fiddler https 界面重置證書并重新生成;
再按照其他帖子的介紹將證書導入到系統(tǒng)(未測試直接安裝為用戶證書),現(xiàn)在就能正常抓 https 網(wǎng)頁不提示錯誤。