Compartir a través de


WebViewClient.OnReceivedClientCertRequest(WebView, ClientCertRequest) Método

Definición

Notifique a la aplicación host que controle una solicitud de certificado de cliente SSL.

[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

Parámetros

view
WebView

WebView que inicia la devolución de llamada

request
ClientCertRequest

Una instancia de un ClientCertRequest

Atributos

Comentarios

Notifique a la aplicación host que controle una solicitud de certificado de cliente SSL. La aplicación host es responsable de mostrar la interfaz de usuario si lo desea y proporcionar las claves. Hay tres maneras de responder: ClientCertRequest#proceed, ClientCertRequest#cancelo ClientCertRequest#ignore. Webview almacena la respuesta en memoria (durante la vida útil de la aplicación) si ClientCertRequest#proceed se llama a o ClientCertRequest#cancel y no llama onReceivedClientCertRequest() de nuevo para el mismo par de hosts y puertos. Webview no almacena la respuesta si ClientCertRequest#ignore se llama a . Tenga en cuenta que, varias capas de la pila de red chromium podrían almacenar en caché las respuestas, por lo que el comportamiento de omitir solo es un mejor esfuerzo de caso.

Se llama a este método en el subproceso de la interfaz de usuario. Durante la devolución de llamada, la conexión se suspende.

Para la mayoría de los casos de uso, el programa de aplicación debe implementar la android.security.KeyChainAliasCallback interfaz y pasarla para android.security.KeyChain#choosePrivateKeyAlias iniciar una actividad para que el usuario elija el alias adecuado. La actividad de cadena de claves proporcionará el alias a través del método de devolución de llamada en la interfaz implementada. A continuación, la aplicación debe crear una tarea asincrónica para llamar android.security.KeyChain#getPrivateKey a para recibir la clave.

Se puede ver un ejemplo de implementación de certificados de cliente en el explorador AOSP.

El comportamiento predeterminado es cancelar y no devolver ningún certificado de cliente.

Documentación de Java para android.webkit.WebViewClient.onReceivedClientCertRequest(android.webkit.WebView, android.webkit.ClientCertRequest).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a