am ac7b7015: am 7c781124: Merge "Clarify handling client certificates" into mnc-dev

* commit 'ac7b7015e062dc410f59ed5e6bce6c38fcaeeb95':
  Clarify handling client certificates
This commit is contained in:
Selim Gurun
2015-06-22 18:19:53 +00:00
committed by Android Git Automerger

View File

@@ -298,14 +298,27 @@ public class WebViewClient {
* 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: proceed(), cancel() or ignore(). Webview remembers the
* response if proceed() or cancel() is called and does not
* call onReceivedClientCertRequest() again for the same host and port
* pair. Webview does not remember the response if ignore() is called.
* respond: proceed(), cancel() or ignore(). Webview stores the response
* in memory (for the life of the application) if proceed() or cancel() is
* called and does not call onReceivedClientCertRequest() again for the
* same host and port pair. Webview does not store the response if ignore()
* is called.
*
* 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
* {@link android.security.KeyChainAliasCallback} interface and pass it to
* {@link 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
* {@link android.security.KeyChain#getPrivateKey} to receive the key.
*
* An example implementation of client certificates can be seen at
* <A href="https://android.googlesource.com/platform/packages/apps/Browser/+/android-5.1.1_r1/src/com/android/browser/Tab.java">
* AOSP Browser</a>
*
* The default behavior is to cancel, returning no client certificate.
*
* @param view The WebView that is initiating the callback