небезопасная реализация обработчика WebViewClient.onReceivedSslError - PullRequest
0 голосов
/ 24 февраля 2020

Я получил предупреждение, которое вы видите ниже.

введите описание изображения здесь

Ваше приложение использует небезопасную реализацию обработчика WebViewClient.onReceivedSslError. Подробности см. В этой статье Справочного центра Google, включая крайний срок для устранения этой уязвимости.

Хотя мы написали следующий код для onReceviedErrorhandler для RNCWebViewManager. java из React-Native-Webview. Проблема все еще сохраняется. Мы будем очень рады, если вы поможете.

@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 Это из библиотеки сторонних разработчиков - React-Native-Webview

...