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

时间: 2024-11-08 20:12:25

Android HTTPS如何10分钟实现自签名SSL证书的相关文章

asp.net web api 使用自签名SSL证书

1自签名SSL证书的创建 创建自签名SSL工具xca为:https://sourceforge.net/projects/xca/ 创建过程 1)创建根证书 打开软件,界面如下. 点击,看到下拉菜单,选择,创建新的数据库. 给文件命名,选择文件存储的位置,这里我放在了E:\CA这个文件夹下 点击保存,弹出下页,填写密码 点击ok,弹出下页 点击,弹出下页 签名算法改为SHA 256,其他不变,点击,然后点击ok,弹出下页 点击,填写信息,如下: 点击,弹出下页 确认无误,点击,成功显示下页 点击

我们在部署 HTTPS 网站时,该如何选择SSL证书?

我们在部署 HTTPS 网站时,该如何选择SSL证书? 首次部署HTTPS网站的同学对选择什么样的SSL证书多多少少都有点迷茫. 这里考虑的因素确实不少:是否支持多域名.泛域名,价格,信息泄露的保额,国内的厂商还是国外的,哪家最值得信赖,甚至是证书在浏览器上显示的小图标样式等等. 我购买过多家证书厂商付费和免费的SSL证书,并部署到多个不同的网站上.我在这篇文章中总结下,希望对大家有所帮助. 选择SSL证书首先得解决第一个问题,选择什么类型的SSL证书? SSL证书类型的选择 通常来说,SSL证

linux系统自签发免费ssl证书,为nginx生成自签名ssl证书

安装nginx可参考:nginx重新编译支持ssl可参考:接下来手动配置ssl证书:自己手动颁发证书的话,那么https是不被浏览器认可的,就是https上面会有一个大红叉下面是手动颁发证书的操作 切换到nginx配置文件 # cd /usr/local/nginx/conf 创建配置证书目录 # mkdir ssl # cd ssl 1.生成私钥 openssl genrsa -des3 -out cert.key 1024 #生成1024的证书私钥 Generating RSA privat

网站还在使用自签名SSL证书?大错特错

自签名SSL证书是什么?估计很多人还不了解,但也有不少人在使用.至于使用的情况如何,我猜是如人饮水冷暖自知.要想对它有个全面的了解,先从定义开始吧. 所谓自签名SSL证书,就是使用openssl等工具创建的证书,并不是由受信任的CA机构签发的.这种证书可以随意签发,不受约束,不受监督,因此也不受任何浏览器以及操作系统的信任.光是从定义上看就让人觉得,这种证书岂不是一点安全保障能力都没有? 事实就是如此.任何网站安装了自签名SSL证书都会存在很大的安全隐患和风险.为了让大家更好的了解它的弊端,安信

Superfish事件:自签名SSL证书惹的祸

春节期间爆发的“Superfish”事件持续发酵,引发整个社会舆论的大哗.Superfish是一款广告应用软件,内置的算法可以帮助用户找到和发现产品,在搜索引擎中对购物进行图片分析.搜索以找到更低的价格,其实算是广告软件中比较优秀的.联想与“Superfish”合作可提升用户体验,开拓软硬件结合的获利模式,本来是一件好事,为何却酿成如此大的品牌危机?这款电脑预装软件究竟具有怎样的安全风险呢? 据国外研究人员表示,导致Superfish引发安全风险的始作俑者是由Komodia公司提供的SDK(So

HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?

什么是SSL? SSL是指安全套接层协议(以及传输层协议TLS),位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持,是目前使用最广泛的安全协议.它为互联网或内部网络连接,进行操作的两台机器之间提供安全信息通道,即HTTPS. 1.1 数据传输期间,对信息进行加密 1.2通过唯一的SSL凭据识别证书所有者身份. 1.3先验证证书所有者身份,再颁发SSL证书 HTTP和HTTPS有什么区别? HTTP(Hypertext Transfer Protocol)超文本传输协议是用来在In

QT https post请求(QNetworkRequest要设置SSL证书,而SSL证书认证有三种,实测成功)

以VS开发为例.因为https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在使用之前必须先做一些准备工作: 需要安装OpenSSL库: 1.首先打开http://slproweb.com/products/Win32OpenSSL.html网页: 2.下载安装包,我下载的是:Win32 OpenSSL v1.0.1c Light安装包,随着时间的推进,这个版本会不断更新的: 3.安装(exe文件)到本地,并且在安装过程中选择将库安装到OpenSSL的安装目录(/bin)下面. 4.

10分钟实现android聊天机器人

转载自:http://myapptg.com/forum.php?mod=viewthread&tid=50&extra= Android开发,10分钟使用api,快速实现聊天机器人,功能很强大哦,集成十分十分简单.本例也模仿qq聊天气泡,实现起来也是很简单的 说明,不是单纯的内置聊天信息,机器人会根据您输入的信息,自动回复你,相当智能. 看下图,是不是觉得在和一个真人聊天? 没错,其实它就是一个机器人,自动根据你发的信息,可以自动回复您 源码地址: http://download.csd

Https系列之四:https的SSL证书在Android端基于okhttp,Retrofit的使用

Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http.https,基于spring boot四:https的SSL证书在Android端基于okhttp,Retrofit的使用 所有文章会优先在:微信公众号"颜家大少"中发布转载请标明出处 先来回顾一下 前面已分别介绍了https,SSL证书的生成,并完成了服务器端的https的部署并提到一