我的应用程序在 WebView 中打开一个指向外部网站的链接。我们不控制该外部网站。如果我在移动浏览器或 PC 上的浏览器等中打开此链接,则效果很好。在每种情况下,证书都是“受信任的”。然而,在 Android webview 中,我收到“不受信任的证书”错误,并且谷歌策略不允许我简单地忽略该错误。这可能是什么问题?这是 Webview 中的错误吗?
最佳答案
一般来说,浏览器处理证书的方式略有不同,以解决您遇到的问题。我不熟悉浏览器的内部结构,无法指出具体的不同之处,但我建议它们保留定期更新的受信任证书颁发机构 (CA) 列表,比设备上存储的受信任 CA 列表更频繁。
收到的证书可以信任:
- 通过 Android 操作系统;
- 通过应用程序(参见下文)。我想这是浏览器使用的替代选项。
您必须通过提供修改后的SSLContext
来解决此问题。如何提供修改后的SSLContext can be found here .
这不是您的情况,但当证书是自签名时也可能出现此问题。这是我在开发应用程序并连接到使用自签名证书的启用 TLS 的后端时遇到的情况。
关于Android WebView 提示证书不受信任,但在所有其他浏览器中受信任,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63168280/