LoginSignup
13
14

More than 5 years have passed since last update.

WebViewでhttpsのサイトにアクセスした際に証明書チェックがエラーになっても無理やり表示する

Last updated at Posted at 2016-01-12

はじめに

仕事の中でSSLサーバの証明書の有効期限が切れているページを表示せざるを得ない場面があった時にハマったのでメモを残しておきます。
通常、WebViewで証明書の期限切れ等でエラーになった場合、真っ白な画面が表示されます。
ちなみに、不審なページで証明書のチェックをスキップするというのはセキュリティーホールになりかねないので非推奨です。

実装

WebViewにsetWebViewClientするときにonReceivedSslError()をオーバーライドし
その中で、handler.proceed()するだけです。


//前略

mWebView.setWebViewClient(new WebViewClient() {
    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {  
            handler.proceed();  
        }  
    } 

//後略 

おわりに

自分の場合は証明書が期限切れなのはあくまでも開発中の検証環境の話であり、リリースの際にはちゃんとしたhttpsでの接続が保証されているので本番のソースにはこの実装は入れません。
はじめにも書きましたが、脆弱性を生み出す原因なので気をつけましょう。

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14