如何在Android 2.1中的WebView中加载https

时间:2012-03-20 18:34:51

标签: android ssl https webview

我使用以下代码在Android应用程序中加载WebView:

mWebView.loadURL("https://wat.harminson.com/html/index.html");

以上代码在Android 2.2及更高版本中运行良好。但是当我将我的应用程序更改为2.1时,我无法看到WebView。我刚看到白色的屏幕。关于可能导致这种情况的任何建议?

2 个答案:

答案 0 :(得分:2)

2.2之前(可能是后来的版本,对于一些顽皮的制造商),Android设备没有被告知信任“VeriSign Class 3 Public Primary Certification Authority - G3”(1999年发布),而是依赖于“Class” 3公共初级证书颁发机构“(1996年发布)。

提供证书链的服务器,其中自己的证书由G5签名,G5由G3签名,G3是自签名的,在Android 2.1及更早版本上失败,因为21世纪的浏览器应该知道他们应该信任G3。

您可以使用桌面浏览器检查服务器的证书链,然后单击挂锁图标 - 要求查看证书详细信息,它通常会显示证书信任树。

如果您的服务器提供的是以自签名G3证书结尾的证书链,您需要对其进行更改,而不是自签名的G3证书,它提供由Android 2.1签署的1996年证书签署的G3证书和早期的设备了解。

https://knowledge.verisign.com/support/mpki-for-ssl-support/index?page=content&id=SO17511&actp=AGENT_REFERAL

修复此问题意味着我尝试的2.1和1.6设备对服务器感到满意。

我推测内置G3证书的某些版本的设备将继续信任G5而不参考服务器提供的证书链中的G3,因此当1996年证书 时,它应该将于2028年到期。

答案 1 :(得分:0)