Android のネイティブ WebView に問題があります。SSL クライアント証明書を使用してサイトで認証する必要があります。Android WebView はこれをサポートしていないようです。回避策として、WebView の修正版を使用しました。
https://github.com/yonekawa/webview-with-client-certificate
変更された WebView は、適切に構成された SslSocketFactory を標準の Android WebView に挿入することによって機能します。これは、Android 2.x デバイスで正常に動作します。ただし、Android 4 ICS では機能しなくなりました。SslSocketFactory はまだ ICS にありますが、もう使用されていないようです。
私の質問は次のとおりです。クライアント証明書で動作するように、ICS で Android WebView を構成することに成功した人はいますか? または、代替手段はありますか?
私がすでに試したこと:
SSL クライアント証明書を Android キーストアにインポートし、変更せずに WebView を使用するだけです。これは機能しません。クライアント証明書はリクエストとともに送信されません。ただし、ネイティブ ブラウザでは動作します。
HttpClient を使用して自分で SSL 接続を作成し、サイトの HTML を取得して WebView に渡します。これは基本的に機能しますが、WebView によって行われたすべてのリクエストをインターセプトして自分で処理する必要があります。ただし、WebView は POST 要求のデータを提供しないため、このアプローチは使用できません。