1

我收到了您在下面看到的警告。

在此处输入图像描述

您的应用正在使用 WebViewClient.onReceivedSslError 处理程序的不安全实现。请参阅此 Google 帮助中心文章了解详细信息,包括修复漏洞的截止日期。

虽然我们在 React-Native-Webview 的 RNCWebViewManager.java 上为 onReceviedErrorhandler 编写了以下代码。问题仍然存在。如果您能提供帮助,我们将非常高兴。

@Override
    public void onReceivedSslError(final WebView webView, final SslErrorHandler handler, final SslError error) {
        handler.cancel();

        int code = error.getPrimaryError();
        String failingUrl = error.getUrl();
        String description = "";

        // https://developer.android.com/reference/android/net/http/SslError.html
        switch (code) {
          case SslError.SSL_DATE_INVALID:
            description = "The date of the certificate is invalid";
            break;
          case SslError.SSL_EXPIRED:
            description = "The certificate has expired";
            break;
          case SslError.SSL_IDMISMATCH:
            description = "Hostname mismatch";
            break;
          case SslError.SSL_INVALID:
            description = "A generic error occurred";
            break;
          case SslError.SSL_MAX_ERROR:
            description = "The number of different SSL errors.";
            break;
          case SslError.SSL_NOTYETVALID:
            description = "The certificate is not yet valid";
            break;
          case SslError.SSL_UNTRUSTED:
            description = "The certificate authority is not trusted";
            break;
          default: 
            description = "Unknown SSL Error";
            break;
        }

        this.onReceivedError(
          webView,
          code,
          description,
          failingUrl
        );
    }

平台 - React Native 它来自 3d 派对库 - React-Native-Webview

4

0 回答 0