android.net.http.SslError#getPrimaryError ( )源码实例Demo

下面列出了android.net.http.SslError#getPrimaryError ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: DeviceConnect-Android   文件: WebViewActivity.java
@Override
public void onReceivedSslError(final WebView view, final SslErrorHandler handler, final SslError error) {
    int primaryError = error.getPrimaryError();
    String url = error.getUrl();
    SslCertificate cert = error.getCertificate();
    mLogger.warning("onReceivedSslError: error = " + primaryError
            + ", url = " + url + ", certificate = " + cert);

    if (primaryError == SslError.SSL_UNTRUSTED && url != null && cert != null) {
        SslCertificate.DName subjectName = cert.getIssuedTo();
        if (subjectName != null
                && "localhost".equals(subjectName.getCName())
                && url.startsWith("https://localhost") ) {
            handler.proceed();
            mLogger.warning("SSL Proceeded: url = " + url);
            return;
        }
    }
    handler.cancel();
    mLogger.severe("SSL Canceled: url = " + url);
}
 
源代码2 项目: arcusandroid   文件: WebViewFragment.java
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    Date today = new Date();
    today.setTime(System.currentTimeMillis());
    if(error.getPrimaryError() == SslError.SSL_DATE_INVALID ||
            error.getPrimaryError() == SslError.SSL_IDMISMATCH ||
            error.getPrimaryError() == SslError.SSL_INVALID ||
            error.getPrimaryError() == SslError.SSL_UNTRUSTED) {
        handler.cancel();
    }
    else {
        handler.proceed();
    }
}
 
源代码3 项目: checkey   文件: WebViewActivity.java
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    String host = uri.getHost();
    int errno = error.getPrimaryError();
    if (host.equals("androidobservatory.org")
            && (errno == SslError.SSL_EXPIRED || errno == SslError.SSL_UNTRUSTED)) {
        handler.proceed();
    } else {
        super.onReceivedSslError(view, handler, error);
    }
}
 
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    super.onReceivedSslError(view, handler, error);
    try {
        JSONObject obj = new JSONObject();
        obj.put("type", LOAD_ERROR_EVENT);
        obj.put("url", error.getUrl());
        obj.put("code", 0);
        obj.put("sslerror", error.getPrimaryError());
        String message;
        switch (error.getPrimaryError()) {
        case SslError.SSL_DATE_INVALID:
            message = "The date of the certificate is invalid";
            break;
        case SslError.SSL_EXPIRED:
            message = "The certificate has expired";
            break;
        case SslError.SSL_IDMISMATCH:
            message = "Hostname mismatch";
            break;
        default:
        case SslError.SSL_INVALID:
            message = "A generic error occurred";
            break;
        case SslError.SSL_NOTYETVALID:
            message = "The certificate is not yet valid";
            break;
        case SslError.SSL_UNTRUSTED:
            message = "The certificate authority is not trusted";
            break;
        }
        obj.put("message", message);

        sendUpdate(obj, true, PluginResult.Status.ERROR);
    } catch (JSONException ex) {
        LOG.d(LOG_TAG, "Should never happen");
    }
    handler.cancel();
}