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
Android HTTPS如何10分钟实现自签名SSL证书的更多相关文章
- 【倒腾HTTPS】Nginx for Docker自签名SSL证书
前言 合格的web程序员, 必须能自由在 IIS. Nginx. Nginx for Docker上配置Https服务, 博客最近将专题记录 Https & Hsts 如何申请适用于生产 ...
- https 自签名SSL证书
介绍 TLS或称传输层安全性,及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议. 使用这种技术,服务器可以在服务器和客户端之间安全地发送流量,而不会被外部各方拦截 ...
- 我们在部署 HTTPS 网站时,该如何选择SSL证书?
我们在部署 HTTPS 网站时,该如何选择SSL证书? 首次部署HTTPS网站的同学对选择什么样的SSL证书多多少少都有点迷茫. 这里考虑的因素确实不少:是否支持多域名.泛域名,价格,信息泄露的保额, ...
- ASP.NET Web API编程——使用自签名SSL证书
1自签名SSL证书的创建 创建自签名SSL工具xca为:https://sourceforge.net/projects/xca/ 创建过程 1)创建根证书 打开软件,界面如下. 点击,看到下拉菜单, ...
- tomcat 配置自签名ssl证书
背景:据说17年苹果app必须走https协议与后台交互了,网上各种搜索最后还是发现有2篇写的比较全面,折腾后总结出2种实现方式.在这里记录,方便有共同需求的同学们参考 本文只介绍生成自签名ssl证书 ...
- Linux中快捷生成自签名ssl证书_113资讯网
一.生成CA私钥 mkdir ca cd ca #创建私钥 (建议设置密码) openssl genrsa -des3 -out myCA.key 2048 生成CA证书 # 20 年有效期 open ...
- HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?
什么是SSL? SSL是指安全套接层协议(以及传输层协议TLS),位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持,是目前使用最广泛的安全协议.它为互联网或内部网络连接,进行操作的两台 ...
- QT https post请求(QNetworkRequest要设置SSL证书,而SSL证书认证有三种,实测成功)
以VS开发为例.因为https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在使用之前必须先做一些准备工作: 需要安装OpenSSL库: 1.首先打开http://slproweb.com ...
- QT https post请求(QNetworkRequest要设置SSL证书,而SSL证书认证有三种)
因为https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在使用之前必须先做一些准备工作: 需要安装OpenSSL库: 1.首先打开http://slproweb.com/product ...
随机推荐
- C# DataGridView绑定数据源的几种常见方式
开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定. 1. 简单的数据绑定 例1 using (SqlConnection conn = new SqlConnect ...
- java开发 时间类型的转换
1.String转date SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Strin ...
- JqueryTips小实验,浏览器滚动条不限制
最近做公司的项目有些地方可能需要一些小提示,于是自己建立项目研究tips.在此之前看到过一些别人写的JqueryTips,于是借鉴了一些别人的经验在此基础上我做出了一些改进. 有的同学可能使用过其他一 ...
- Mongodb操作总结
1.Mongovue里面可以直接group by ,这个时候一定要注意,group by的任何条件的是 json, 注意当值是Int,非string型的时候,值不要加上双引号 2.注意group by ...
- GC roots 总结
previous content next GC roots The so-called GC (Garbage Collector) roots are objects ...
- tar常用解包
(1)常见解压缩包 .tar解包 tar -xvf xxxx.tar 打包 tar -cvf xxxx .tar.bz2解包 bzip2 -d xxxx.tar.bz2 #会解压成. ...
- javscript面试题(一)
你如何理解HTML结构的语意化? 1.去掉或样式丢失的时候能让页面呈现清晰的结构:2.屏幕阅读器(如果访客有视障)会完全根据你的标记来“读”你的网页:3.PDA.手机等设备可能无法像普通电脑的浏览器一 ...
- Enterprise Suse运维
1,Suse CDH4安装 wget archive.cloudera.com/cdh4/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_ ...
- Hadoop MapReduce概念学习系列之mr程序详谈(二十三)
这个暂时,没写好. K1,v1 这是增强的for循环. for(Sting w : words) { } 迭代器里,前面,放的是什么类型,后面,迭代的是谁.
- PopupWindow 问题集锦
1.响应返回键/响应键盘事件(onKeyListener) 最近在做PopupWindow, 发现使用PopupWindow一出现,不会响应popup外面的事件,经过资料查找,发现有两种方法可以响应外 ...