阿里云国际站:android webview 添加证书

Android的WebView中,为WebView添加安全证书主要分为两种情况,下面将分别介绍。

一、WebView加载HTTPS的网址时,如果证书已经被Android系统信任,就不需要我们做任何处理,直接可加载显示。

二、如果需要访问的HTTPS网址证书并未被Android系统信任需要我们自行处理,以下是代码实现方法:

WebView webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        handler.proceed();  //接受所有证书
    }
});
webView.loadUrl("https://your-https-url.com");

上面的代码中handler.proceed()表示接受所有网站的证书,这种做法并不安全,因为此种情况下WebView将接受所有的证书,不论是否被信任,因此更安全的做法是将需要接受的证书添加到应用中,创建一个自定义的SslCertificate,然后在onReceivedSslError方法中对证书进行判断,这里需要注意的是此方法只能用于API 14及以上版本。

阿里云国际站:android webview 添加证书

重载WebViewClient中的onReceivedSslError函数,可以按照如下方式处理:

public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    final SslCertificate sslCertificate = error.getCertificate();
    final SslCertificate savedSslCertificate = ... ; // Get saved certificate
    if (savedSslCertificate.equals(sslCertificate)) {
        handler.proceed();
    } else {
        super.onReceivedSslError(view, handler, error);
    }
}

这段代码中,savedSslCertificate应该为预先保存的服务端证书或者证书信息。这样就可以接受指定的服务端证书,从而提高应用的安全性。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/169855.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月22日 02:34
下一篇 2024年3月22日 02:48

相关推荐

  • 宁波阿里云代理商:阿里云忘记密码

    如果你是阿里云的客户,在忘记密码情况下,你可以采取以下步骤来重置密码: 1.访问阿里云登录页面:https://account.aliyun.com/login/login.htm。点击“忘记密码?”链接。 2.在下一个页面,输入你注册时使用的手机号码或邮箱地址,然后点击“获取验证码”。 3.根据你选择的方式(短信验证码或邮箱验证码),阿里云会向你的手机或邮…

    2024年2月1日
    63600
  • 阿里云云服务器

    阿里云云服务器(Alibaba Cloud Elastic Compute Service,简称ECS),是阿里云提供的一种云计算基础设施服务。通过ECS,用户可以租用在阿里云数据中心中的虚拟服务器,用于搭建网站、搭建应用程序、进行数据存储等各种计算需求。 阿里云云服务器提供了多种规格和配置可选,包括不同的CPU、内存、存储和网络等参数,用户可以根据自己的需…

    2023年8月11日
    67500
  • 日喀则阿里云企业邮箱代理商:阿里云域名备案在哪里找

    阿里云企业邮箱代理商:阿里云域名备案在哪里找 阿里云企业邮箱的优势 作为一款专为企业打造的邮箱服务,阿里云企业邮箱有以下几个显著的优势: 1. 安全可靠 阿里云企业邮箱采用多重安全机制,包括SSL加密、高级防病毒、反垃圾邮件和漏洞扫描等,保障用户邮箱安全可靠。 2. 管理便捷 企业管理员可以自由添加、删除、修改企业员工邮箱账号,方便快捷。 3. 统计分析 阿…

    2024年3月14日
    58000
  • 小白在阿里云部署javaweb项目

    怎么在阿里云虚拟机上面架设java项目 阿里云虚拟机上不支持架设java项目的, 如果需要架设java项目需要购买阿里云服务器ecs。 如何把自己的javaweb部署到阿里云去 可以这么做——1.登入阿里云,进入产品与服务,选择云市场 2.在云市场选择适合的运行环境 3.停止服务器,更换系统盘,选择运行环境 4.项目的数据库本地地址修改为服务器数据库内网地址…

    2023年8月25日
    63000
  • 常州阿里云代理商:android fragment之间传递数据库

    在Android中,如果需要在Fragment之间进行数据库操作或传递数据,可以通过以下步骤实现: 在Activity中创建数据库并提供相应方法用于操作数据库。 在需要传递数据的Fragment中,通过Activity的实例调用相应的方法进行数据库操作。 如果需要在Fragment之间传递数据,可以通过Bundle进行数据传递。 以下是一个简单的示例代码: …

    2024年2月23日
    58600

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/