android 服务器证书校验,Android HTTPS证书验证的简单方式

1. 背景与需求

近期在做IP切换的HTTPS访问时,遇到了一些问题:客户端如何进行HTTPS的证书验证。

其实对于一般的项目基本都是做的单向验证,即在客户端证书或者HOST的验证;对于金融、银行相关的项目才会使用的双向验证,客户端与服务端之间都要对彼此进行验证,以防止中间人进行攻击。

2.实现目标

本文记录的是:客户端实现对HOST的验证,这样基本满足一般项目的需求,也不需要客户端内置证书,引起更新时候的麻烦。

3. 实现过程

实现SSLSocketFactory ,获取SSLContext

我们这里没有本地的证书,所以都是生成TrustManager 时都是空实现,如果需要通过内置证书来验证可以柴查看下面的链接。

public class SSLSocketFactoryImp extends SSLSocketFactory {

private SSLContext sslContext = SSLContext.getInstance("TLS");

private TrustManager trustManager = null;

public SSLContext getSSLContext() {

return sslContext;

}

public X509TrustManager getTrustManager() {

return (X509TrustManager)trustManager;

}

public SSLSocketFactoryImp(KeyStore keyStore) throws NoSuchAlgorithm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值