Android使用okhttp进行自制证书的双向SSL验证

   由于互联网全面普及,未来网络安全这块的发展空间很大的。随着物联网的不断应用,人们的生活和网络已经密不可分,网络上承载着数以亿计的各种信息,这些数据信息是个人、企业甚至是国家的战略性资源,所以保障他们的安全是一件非常重要的事情。因此,在未来,各个企业定会在网络安全这块倾尽余力。

   所以为了保障网络安全,最近公司也在做双向验证的https接口,和其它企业进行对接。但是发现网上针对双向验证的资料少之又少,大部分还是单向验证,还有些博客是用绕过验证的方式提交数据,并且有些博客还是错误的。按照其他博客的方法操作不但不能实现,反而还浪费了大量的时间。本文章只针对前端(Android)端的操作进行解读,后台的配置会简略的说明。

    本文章只针对自制证书进行解读。双向SSL主要是看后台的设计,双向验证有两个证书,一个是根证书,一个是客户端证书。根证书由后台生成,客户端证书也可以安排由后台生成。证书的生成可以参考次链接(点击此处)。生成的证书格式为jks。但是android证书类型不支持解析jks文件,我们需要通过转换工具  https://download.csdn.net/download/z879381359/11225612  下载次工具,进行格式转换。

将两个jks转换成bks,然后再把资源放到android的assets目录中

所有工作就已经准备就绪,开始写代码了

补充:代码用的是databinding没有或者不熟悉的话大伙们要改成findviewbyId哦,

导入包:

    implementation "com.squareup.retrofit2:converter-scalars:2.3.0"
    implementation "com.squareup.retrofit2:converter-gson:2.3.0"
    implementation "com.squareup.okhttp3:logging-interceptor:3.8.1"    
 

主类


public class TestActivity extends Activity {
    private TestActivityBinding binding;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.binding = DataBindingUtil.setContentView(this, R.layout.test_activity);
        this.binding.setActivity(this);
        this.binding.button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                query();
            }
        });

        query();

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }


    public void query(){
        String url = "https://192.168.***";
        //创建日志拦截器,用于日志打印
        HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

        OkHttpClient 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
OkHttp3是一个开源的Java HTTP客户端库,它被广泛用于Android和Java应用程序中进行网络请求。它提供了简洁的API和强大的功能,使得进行HTTP通信变得更加简单和高效。 以下是OkHttp3的一些主要特点和功能: 1. 支持同步和异步请求:OkHttp3允许您发送同步和异步的HTTP请求。同步请求会阻塞当前线程,直到请求完成并返回响应。异步请求则会在后台线程执行,不会阻塞主线程。 2. 请求和响应拦截器:OkHttp3提供了拦截器机制,可以在发送请求和接收响应的过程中进行自定义操作。您可以使用拦截器来添加、修改或删除请求头、记录日志、进行身份验证等。 3. 连接池和连接复用:OkHttp3使用连接池来管理HTTP连接,以减少网络延迟和提高性能。它还支持连接复用,可以在多个请求之间共享同一个TCP连接,减少连接建立的开销。 4. 支持HTTP/2和WebSocket:OkHttp3支持HTTP/2协议,可以通过单个TCP连接并发地发送多个请求和接收多个响应。它还提供了对WebSocket协议的支持,可以实现双向通信。 5. 文件上传和下载:OkHttp3提供了方便的API来进行文件上传和下载。您可以使用RequestBody来上传文件,使用ResponseBody来下载文件,并且可以监视进度。 6. 缓存支持:OkHttp3支持HTTP缓存,可以自动处理缓存策略、缓存验证和缓存控制。您可以配置缓存的大小、过期时间等参数。 7. 支持GZIP压缩:OkHttp3支持自动压缩请求和解压缩响应,可以减少数据传输的大小,提高网络性能。 8. 支持HTTPS:OkHttp3支持HTTPS协议,并提供了对TLS和SSL的支持,可以进行安全的通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值