开发的项目需要政府网站,网站实用的是Https,而且网页上提示首次使用请下载证书,想了好多方法,最后发现可以通过WKWebView来实现访问。
![](https://img.haomeiwen.com/i1762316/515d08afe42941ae.jpeg)
遇到的问题
- 首次使用需要下载证书
- 网站证书为自建证书
-
网站验证码图片显示必须下载证书
首次需要下载根证书
解决方法
-
首先在项目中设置Infoplist->ATP
ATP设置
-
从网站下载证书,将证书格式设置为
der
或cer
格式,在终端中修改方法:
.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
-
导入证书
直接把证书拉到项目中
将证书导入项目
-
WKWebView设置代理WKNavigationDelegate,在代理方法
webView:didReceiveAuthenticationChallenge:completionHandler
中设置证书信任
![](https://img.haomeiwen.com/i1762316/b4c44c0f70fe4e0b.png)
![](https://img.haomeiwen.com/i1762316/5e033965b090e5c5.png)
这样,就可以正常的访问这个网站了!!撒花~~
![](https://img.haomeiwen.com/i1762316/dd3682d2dd06daab.png)
后记
之前采用UIWebView可以绕过证书验证这一步,可是验证码图片必须有证书才可以显示。被这个折磨了一天,第二天用了WKWebView一下子就解决问题了,而且,WKWebView的性能还要优于UIWebView。还是需要不断努力呀!!!
网友评论