使用WKWebView訪問Https

開發的項目需要政府網站,網站實用的是Https,而且網頁上提示首次使用請下載證書,想了好多方法,最后發現可以通過WKWebView來實現訪問。

Https

遇到的問題


  1. 首次使用需要下載證書
  2. 網站證書為自建證書
  3. 網站驗證碼圖片顯示必須下載證書


    首次需要下載根證書

解決方法


  1. 首先在項目中設置Infoplist->ATP


    ATP設置
  2. 從網站下載證書,將證書格式設置為dercer格式,在終端中修改方法:
    .crt轉.der的方法 openssl x509 -in /Users/mac/Desktop/ca.crt -out /Users/mac/Desktop/ca.der -outform DER
    .crt轉.cer方法: openssl x509 -in /Users/mac/Desktop/ca.crt -out /Users/mac/Desktop/ca.cer -outform DER

  3. 導入證書
    直接把證書拉到項目中

    將證書導入項目

  4. WKWebView設置代理WKNavigationDelegate,在代理方法webView:didReceiveAuthenticationChallenge:completionHandler中設置證書信任

Objective-C

Swift

這樣,就可以正常的訪問這個網站了!!撒花~~

截圖

后記

之前采用UIWebView可以繞過證書驗證這一步,可是驗證碼圖片必須有證書才可以顯示。被這個折磨了一天,第二天用了WKWebView一下子就解決問題了,而且,WKWebView的性能還要優于UIWebView。還是需要不斷努力呀!!!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容