Chrome For Android - 如何拦截证书选择
Chrome For Android - How to intercept certificate selection
我遇到了企业内部网问题(只能在企业网络上访问)。
该网站需要在平板电脑上安装证书才能调用。在启动时,该网站调用了 10 多个同样受到保护的 url。
证书已正确安装在平板电脑上。
chrome Windows,我们完全没有问题。
但是当我们尝试从 chrome 访问网站时 Android,Chrome 不断询问要使用的证书(同样的问题描述 there)
所以实际上,当您连接到该网站时,您会看到 10 多个弹出窗口,询问您要使用的证书。当您重新启动设备时,您必须再次执行此操作。
我找到了 http://www.chromium.org/administrators/policy-list-3#AutoSelectCertificateForUrls,但它似乎不适用于 Android 设备
我想制作一个带有 Chrome 自定义标签的 APK,我想 "pre-laod" 调用 url 并拦截证书请求,然后我想我可以给它正确的,但这似乎是不可能的...
所以我想知道我该怎么做,我是 android 编码的新手,所以我不知道所有的可能性....
有什么想法吗?
谢谢!
解决方案是实现 WebView
组件,它允许您拦截来自服务器的证书请求。
您必须实施 WebViewClient
class,并使用 onReceivedClientCertRequest
:
@Override
public void onReceivedClientCertRequest(WebView view, final ClientCertRequest request) {
Log.d(TAG, "Asking for certificate - url " + request.getHost() + " - " + request.getPort());
request.proceed(mPrivateKey, mCertificates);
}
我想从 android 密钥库中检索证书,我分享了解决方案 。
我遇到了企业内部网问题(只能在企业网络上访问)。 该网站需要在平板电脑上安装证书才能调用。在启动时,该网站调用了 10 多个同样受到保护的 url。 证书已正确安装在平板电脑上。
chrome Windows,我们完全没有问题。 但是当我们尝试从 chrome 访问网站时 Android,Chrome 不断询问要使用的证书(同样的问题描述 there) 所以实际上,当您连接到该网站时,您会看到 10 多个弹出窗口,询问您要使用的证书。当您重新启动设备时,您必须再次执行此操作。
我找到了 http://www.chromium.org/administrators/policy-list-3#AutoSelectCertificateForUrls,但它似乎不适用于 Android 设备
我想制作一个带有 Chrome 自定义标签的 APK,我想 "pre-laod" 调用 url 并拦截证书请求,然后我想我可以给它正确的,但这似乎是不可能的...
所以我想知道我该怎么做,我是 android 编码的新手,所以我不知道所有的可能性....
有什么想法吗?
谢谢!
解决方案是实现 WebView
组件,它允许您拦截来自服务器的证书请求。
您必须实施 WebViewClient
class,并使用 onReceivedClientCertRequest
:
@Override
public void onReceivedClientCertRequest(WebView view, final ClientCertRequest request) {
Log.d(TAG, "Asking for certificate - url " + request.getHost() + " - " + request.getPort());
request.proceed(mPrivateKey, mCertificates);
}
我想从 android 密钥库中检索证书,我分享了解决方案