WebViewClient.OnReceivedClientCertRequest(WebView, ClientCertRequest) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Notify the host application to handle a SSL client certificate request.
[Android.Runtime.Register("onReceivedClientCertRequest", "(Landroid/webkit/WebView;Landroid/webkit/ClientCertRequest;)V", "GetOnReceivedClientCertRequest_Landroid_webkit_WebView_Landroid_webkit_ClientCertRequest_Handler")]
public virtual void OnReceivedClientCertRequest (Android.Webkit.WebView? view, Android.Webkit.ClientCertRequest? request);
[<Android.Runtime.Register("onReceivedClientCertRequest", "(Landroid/webkit/WebView;Landroid/webkit/ClientCertRequest;)V", "GetOnReceivedClientCertRequest_Landroid_webkit_WebView_Landroid_webkit_ClientCertRequest_Handler")>]
abstract member OnReceivedClientCertRequest : Android.Webkit.WebView * Android.Webkit.ClientCertRequest -> unit
override this.OnReceivedClientCertRequest : Android.Webkit.WebView * Android.Webkit.ClientCertRequest -> unit
Parameters
- view
- WebView
The WebView that is initiating the callback
- request
- ClientCertRequest
An instance of a ClientCertRequest
- Attributes
Remarks
Notify the host application to handle a SSL client certificate request. The host application is responsible for showing the UI if desired and providing the keys. There are three ways to respond: ClientCertRequest#proceed
, ClientCertRequest#cancel
, or ClientCertRequest#ignore
. Webview stores the response in memory (for the life of the application) if ClientCertRequest#proceed
or ClientCertRequest#cancel
is called and does not call onReceivedClientCertRequest()
again for the same host and port pair. Webview does not store the response if ClientCertRequest#ignore
is called. Note that, multiple layers in chromium network stack might be caching the responses, so the behavior for ignore is only a best case effort.
This method is called on the UI thread. During the callback, the connection is suspended.
For most use cases, the application program should implement the android.security.KeyChainAliasCallback
interface and pass it to android.security.KeyChain#choosePrivateKeyAlias
to start an activity for the user to choose the proper alias. The keychain activity will provide the alias through the callback method in the implemented interface. Next the application should create an async task to call android.security.KeyChain#getPrivateKey
to receive the key.
An example implementation of client certificates can be seen at AOSP Browser
The default behavior is to cancel, returning no client certificate.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.