Android 版 Chrome - 如何拦截证书选择

问题描述 投票:0回答:1

我的企业内部网出现问题(只能在企业网络上访问)。 该网站需要平板电脑上安装证书才能调用。在启动时,该网站调用了 10 多个同样受到保护的 URL。 证书已正确安装在平板电脑上。

在 Windows 版 Chrome 上,我们没有任何问题。 但是当我们尝试从 Android 版 Chrome 访问网站时,Chrome 不断询问要使用哪个证书(there描述了同样的问题) 所以实际上,当您连接到该网站时,您会看到 10 多个弹出窗口询问您要使用哪个证书。当您重新启动设备时,您必须再次执行此操作。

我找到了 http://www.chromium.org/administrators/policy-list-3#AutoSelectCertificateForUrls 但它似乎不适用于 Android 设备

我想用Chrome自定义选项卡制作一个APK,我想“预加载”URL调用并拦截证书请求,然后我希望我能够给它正确的一个,但它似乎不是可能...

所以我想知道我该怎么做,我是 Android 编码新手,所以我不知道所有的可能性......

有什么想法吗?

谢谢!

android google-chrome ssl popup certificate
1个回答
1
投票

解决方案是实现

WebView
组件,该组件允许您拦截来自服务器的证书请求。 您必须实现
WebViewClient
类,并使用
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 密钥库检索证书,我在here分享了解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.