Android WebView 提示证书不受信任,但在所有其他浏览器中受信任

标签 android ssl certificate android-webview android-security

我的应用程序在 WebView 中打开一个指向外部网站的链接。我们不控制该外部网站。如果我在移动浏览器或 PC 上的浏览​​器等中打开此链接,则效果很好。在每种情况下,证书都是“受信任的”。然而,在 Android webview 中,我收到“不受信任的证书”错误,并且谷歌策略不允许我简单地忽略该错误。这可能是什么问题?这是 Webview 中的错误吗?

最佳答案

一般来说,浏览器处理证书的方式略有不同,以解决您遇到的问题。我不熟悉浏览器的内部结构,无法指出具体的不同之处,但我建议它们保留定期更新的受信任证书颁发机构 (CA) 列表,比设备上存储的受信任 CA 列表更频繁。

收到的证书可以信任:

  • 通过 Android 操作系统;
  • 通过应用程序(参见下文)。我想这是浏览器使用的替代选项。

您必须通过提供修改后的SSLContext来解决此问题。如何提供修改后的SSLContext can be found here .

这不是您的情况,但当证书是自签名时也可能出现此问题。这是我在开发应用程序并连接到使用自签名证书的启用 TLS 的后端时遇到的情况。

关于Android WebView 提示证书不受信任,但在所有其他浏览器中受信任,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63168280/

相关文章:

.net - 使用 .net 中的服务器身份验证调用 Java Web 服务

javascript - 与 node.js 的 SSL 连接

wcf - WCF为什么提示身份检查失败?

ios - 找不到 Apple 开发推送服务的私钥

android - 签名和对齐 apk 步骤 : No matching files were found with search pattern

Android:实现了onClickListener,NullPointerException

c# - 为什么在使用 SSL 时 SmtpClient 会失败并出现几个不同的异常?

java - 获取所有主机名匹配证书的列表

安卓自由 ScrollView

java - eclipse 中的 VideoView 无法在手机上播放