WebView或更具体的PhoneGaps CordovaWebView可以使用客户端证书对服务器进行身份验证吗?
我知道本机浏览器可以使用客户端证书,但我正在尝试使用PhoneGap Android应用程序与需要客户端证书的服务器通信,并且无法查看如何使用.我尝试了各种我在谷歌上看过的方法,但它们不适用于Android 4.0或更高版本.任何建议都会受到很大的关注.
解决方法
这不可能. sdk中不提供回答客户端证书质询所需的代码.如果你在android sdk中查看WebViewClient的源代码,你会看到这个方法
/** * Notify the host application to handle a SSL client certificate * request (display the request to the user and ask whether to * proceed with a client certificate or not). The host application * has to call either handler.cancel() or handler.proceed() as the * connection is suspended and waiting for the response. The * default behavior is to cancel,returning no client certificate. * * @param view The WebView that is initiating the callback. * @param handler An ClientcertrequestHandler object that will * handle the user's response. * @param host_and_port The host and port of the requesting server. * * @hide */ public void onReceivedClientcertrequest(WebView view,ClientcertrequestHandler handler,String host_and_port) { handler.cancel(); }
你在doc部分看到了@hide吗?这意味着“不要向公众提供这种服务”.我们需要能够覆盖此方法并使用ClientcertrequestHandler,但我们不能.不确定谷歌何时会打开这个API,但它在JellyBean中不可用.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。