zoukankan      html  css  js  c++  java
  • Android HTTPS如何10分钟实现自签名SSL证书

    前言

    去年公司内一个应用加了支付宝支付功能,为了保证安全,支付请求链接写成了https。

    由于公司服务器使用的是的自签名证书,而在Android系统中自己签署的不能通过验证的,所以会抛出错误。

    于是我网上查找了很多资料,也尝试过几种方法,过程都很繁琐,搞了一通宵都不行。

    幸亏通过一个朋友找到了以下这个简便的开源库

    https://github.com/lizhangqu/CoreUtil

    然后用里面的SSLUtil,10分钟就解决了。

    实现自签名SSL证书

    1.访问以上开源库网址下载SSLUtil

       

    2.把服务器生成的自签名证书cer文件放到在assets目录下,这里以demo.cer做示范

    3.初始化SSLSocketFactory

       在http请求类的constructor中添加以下代码,这里以HttpRequest做示范

     socketFactory = SSLUtil.getSSLSocketFactory(context.getAssets().open("demo.cer"));

       

    4.添加信任https证书

       在new OKHttpClient后添加以下代码

     if (url.startsWith("https://") && socketFactory != null) {
    client.setSslSocketFactory(socketFactory);
    }

     

    以上这几步就是全部步骤了,如果你还是觉得麻烦,推荐使用Android-ZBLibray这个Android快速开发框架,里面自签名已全部封装好,只需替换下demo.cer文件即可。

    Android快速开发框架-ZBLibrary 源码下载地址如下:

    https://github.com/TommyLemon/Android-ZBLibrary

  • 相关阅读:
    tf-idf sklearn
    特征工程——特征预处理
    dict 字典
    特征预处理——特征表达
    特征工程之特征选择
    机器学习技巧学习
    dataframe去重 drop_duplicates
    dataframe 转为list
    XGboost
    StratifiedShuffleSplit()函数 实现对数据集的划分
  • 原文地址:https://www.cnblogs.com/tommylemon/p/5454303.html
Copyright © 2011-2022 走看看