Android WebView 抱怨证书不受信任,但它在所有其他浏览器中都受信任
Android WebView complains of untrusted certificate but it is trusted in all other browsers
我的应用程序在网络视图中打开一个 link 到外部网站。我们不控制该外部网站。如果我在移动浏览器或 PC 上的浏览器等中打开此 link,它工作正常。证书在每种情况下都是“受信任的”。但是,在 Android webview 中,我收到“不受信任的证书”错误,并且 google 策略不允许我简单地忽略该错误。这可能是什么问题?这是 Webview 中的错误吗?
一般来说,浏览器处理证书的方式略有不同,以解决您遇到的问题。我不熟悉浏览器的内部结构,无法指出完全不同的地方,但我建议他们持有定期更新的受信任证书颁发机构 (CA) 列表,比存储在设备上的受信任 CA 列表更频繁。
收到的证书可以信任:
- 由 Android OS;
- 通过应用程序(见下文)。我想这是浏览器使用的替代选项。
您必须通过提供修改后的 SSLContext
来解决此问题。如何提供修改后的 SSLContext can be found here.
这不是您的情况,但当证书是自签名时也会出现此问题。这是我在开发应用程序和连接到使用自签名证书的支持 TLS 的后端时遇到的情况。
我的应用程序在网络视图中打开一个 link 到外部网站。我们不控制该外部网站。如果我在移动浏览器或 PC 上的浏览器等中打开此 link,它工作正常。证书在每种情况下都是“受信任的”。但是,在 Android webview 中,我收到“不受信任的证书”错误,并且 google 策略不允许我简单地忽略该错误。这可能是什么问题?这是 Webview 中的错误吗?
一般来说,浏览器处理证书的方式略有不同,以解决您遇到的问题。我不熟悉浏览器的内部结构,无法指出完全不同的地方,但我建议他们持有定期更新的受信任证书颁发机构 (CA) 列表,比存储在设备上的受信任 CA 列表更频繁。
收到的证书可以信任:
- 由 Android OS;
- 通过应用程序(见下文)。我想这是浏览器使用的替代选项。
您必须通过提供修改后的 SSLContext
来解决此问题。如何提供修改后的 SSLContext can be found here.
这不是您的情况,但当证书是自签名时也会出现此问题。这是我在开发应用程序和连接到使用自签名证书的支持 TLS 的后端时遇到的情况。