Поделиться через


WebViewClient.OnReceivedClientCertRequest(WebView, ClientCertRequest) Метод

Определение

Уведомите ведущего приложения об обработке запроса сертификата 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

Параметры

view
WebView

WebView, инициирующий обратный вызов

request
ClientCertRequest

Экземпляр объекта ClientCertRequest

Атрибуты

Комментарии

Уведомите ведущего приложения об обработке запроса сертификата SSL-клиента. Ведущее приложение отвечает за отображение пользовательского интерфейса при необходимости и предоставление ключей. Существует три способа реагирования: ClientCertRequest#proceed, ClientCertRequest#cancelили ClientCertRequest#ignore. Webview сохраняет ответ в памяти (для жизни приложения), если ClientCertRequest#proceed или вызывается и ClientCertRequest#cancel не вызывается onReceivedClientCertRequest() повторно для одной пары узлов и портов. Webview не сохраняет ответ, если ClientCertRequest#ignore вызывается. Обратите внимание, что несколько слоев в сетевом стеке chromium могут кэширование ответов, поэтому поведение игнорировать является лишь лучшим вариантом усилий.

Этот метод вызывается в потоке пользовательского интерфейса. Во время обратного вызова подключение приостановлено.

В большинстве случаев программа приложения должна реализовать android.security.KeyChainAliasCallback интерфейс и передать его, чтобы android.security.KeyChain#choosePrivateKeyAlias запустить действие для пользователя, чтобы выбрать правильный псевдоним. Действие цепочки ключей предоставит псевдоним через метод обратного вызова в реализованном интерфейсе. Затем приложение должно создать асинхронную задачу для вызова android.security.KeyChain#getPrivateKey ключа.

Пример реализации сертификатов клиента можно увидеть в браузере AOSP

Поведение по умолчанию — отменить, не возвращая сертификат клиента.

Документация по Java для android.webkit.WebViewClient.onReceivedClientCertRequest(android.webkit.WebView, android.webkit.ClientCertRequest).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к