I tried for days to use a web view with a client certificate embedded in the application, but it seems to me that the android sdk does not provide any way to do it, is there
In API 21 (Android Lollipop) and higher you can override the WebViewClient.onReceivedClientCertRequest(WebView view, ClientCertRequest request). In the method, use your key manager for getting the private key and certificate chain and call request.proceed().
onReceivedClientCertRequest() is added to WebViewClient since API 21. https://developer.android.com/reference/android/webkit/WebViewClient#onReceivedClientCertRequest(android.webkit.WebView,%20android.webkit.ClientCertRequest)
The solution from the following Stackoverflow post worked for me: Android WebView handle onReceivedClientCertRequest
To test:
When client certificate is not setup, you will see "400 bad request".