Volley 信任自签名的 Https 证书

Android中进行https请求信任证书问题(效率解决,小白适用) 前言 Volley 框架信任所有https证书 基于Okhttpclient信任https所有证书 前言 在Android开发项目中难免要进行https请求,如果你也遇到这样的问题,那么我想这片博客能对你有些帮助。 java.security.cert.CertPathValidatorException: Trust anchor for certification path not fou 阅读详情

Volley 是安卓网络编程中常用的框架。但它默认使用的是Http协议,如果想要使用自签名的证书来连接自己的Https服务器,需要做一点设置。

首先是讲证书导入到InputStream里面来,这个方法很多,我是将一个常量来保存证书,运行时来导入InputStream。

InputStream ins = new ByteArrayInputStream(Constants.CERTIFICATION.getBytes());
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate ca = cf.generateCertificate(ins);
String tmfAlg = TrustManagerFactory.getDefaultAlgorithm();
TrustManagerFactory tf = TrustManagerFactory.getInstance(tmfAlg);
KeyStore kstore = KeyStore.getInstance(KeyStore.getDefaultType());
kstore.load(null, null);
kstore.setCertificateEntry("ca", ca);
tf.init(kstore);
SSLContext ssl = SSLContext.getInstance("TLS");
ssl.init(null, tf.getTrustManagers(), null);

这样就得到了一个SSLContext并且已经信任了你的证书。

然后需要自定义一个RequestQueue,建议使用一个单例类来封装,避免每次都要重新生成。

自定义RequestQueue需要Cache和Network分别可以用如下办法来生成

//在Cache文件夹生成1MB缓冲区
Cache cache = new DiskBasedCache(getCacheDir(), 1024 * 1024); 

//先创建一个HurlStack,注意要用之前初始化好的ssl
HttpStack stack = new HurlStack(null, ssl.getSocketFactory());

//得到自定义的RequestQueue
mRequestQueue = new RequestQueue(cache, new BasicNetwork(stack));

用这个RequestQueue就可以访问持有该证书的服务器啦。

注意,证书的完全限定域名FQDN必须和访问的域名一致,否则还是通不过的,直接输入IP是无效的。

Android——自建CA证书,实现https请求 Android 使用https 协议请求客户端 server端操作 自己创建 CA证书 拿自建CA证书创建 server端证书 创建 https 服务 Android客户端操作 创建项目并引入相关依赖 生成 Android端 keystore MainActivity.java &布局文件 activity_main.xml 修改 Android模拟器的 hosts文件 Android端发送HTTPS... 阅读详情

相关推荐

C/C++基础题127.数字在排序数组中出现的次数

Hello: Person person = new Person(); person.Name = “xueyubin”; person.WeChat = “18309212110”; person.HeaderPhoto=“戴眼镜、黑眼圈、格子衫、牛仔裤、双肩包”; person.Sex = “男”; String major[] = { ‘C’,“C++”, “Linux”,“MySQL” }; person.IWantSay(“关心足够大的问题,注重考察成本的增长趋势!”) 加入专栏,变强!!!!.

C/C++/Linux/MySQL 523

新浪微博请求数据出错(Android Volley Https证书不信任)的解决方案

今天在调用新浪微博android sdk时出现Https证书不信任的问题,查了很多资料终于解决了,在这里把解决方案分享给大家。

心砚THU的专栏 9622

Volley支持https的jar包(信任所以证书)

Volley支持https的jar包(信任所以证书)

Android进阶——Volley+Https给你的安卓应用加上SSL证书

背景       作为开发人员,我们需要对网络访问的安全性加以保证,这样才能在基本上保证我们的数据不受到修改和攻击。笔者的项目之前用的是Volley框架访问的网络,基于http协议。现在我们需要使用更为安全的https。https简单的理解就是http+ssl,对于SSL证书,自己签发也行,花钱购买也可以,孰优孰劣,大家自行百度了解。      因为是基于Volley框架访问的网络,所以网上搜

贵宝的博客 1万+

android使用自定义证书的https连接

使用.bks格式的自定义证书的HTTPS连接方式,验证自定义证书。 参考博客http://blog.youkuaiyun.com/raptor/article/details/18898937

NVIDIA DGX Spark实战:如何在桌面上轻松运行200B参数大模型(附配置教程)

本文提供了NVIDIA DGX Spark在桌面端运行200B参数大模型的完整实战指南。详细介绍了从硬件初始化、系统配置、容器化环境搭建,到模型加载、量化、推理流水线编写及性能调优的全过程。重点阐述了如何利用其统一内存架构和TensorRT-LLM等工具进行高效本地推理,并探讨了通过双机互联扩展以应对超大规模模型的方法。

i3j4k5的博客 782

Volley支持https的3种方法小结

最近遇到网络安全方面的问题,所以要使用https,由于在工程中使用了Volley,所以对Volley的https做了一些研究,当然大部分是参考的网络上一些前辈们的成果,自己进行一下总结。 https涉及到证书的认证方式,我就按认证的类型来说明: 1,全部信任证书; 2,信任指定证书; 3,信任系统提供的证书(CA颁发);

lintax的专栏 8278

手把手教你用树莓派蓝牙抓取小米温湿度计2代数据,接入HomeAssistant(附密钥获取避坑指南)

本文详细介绍了如何通过树莓派蓝牙抓取小米温湿度计2代数据并接入HomeAssistant的完整流程。重点解析了获取32位加密密钥的三种方法,包括使用Telink Flasher工具、米家APP抓包和开源工具ATC_MiThermometer,并提供了HomeAssistant集成配置和常见问题排查指南,帮助用户实现稳定可靠的温湿度监测。

一名菜鸟攻城师 779

android volley https使用证书,Android volley自签名HTTPS信任锚,用于找不到证书路径

您可以尝试以下示例代码。希望这有帮助!private TrustManager[] getWrappedTrustManagers(TrustManager[] trustManagers) {final X509TrustManager originalTrustManager = (X509TrustManager) trustManagers[0];return new TrustManag...

weixin_29544469的博客 273

PCIe Crosslink

PCIe Crosslink(交叉连接)是一种特殊的PCIe链路连接方式,允许两个PCIe设备(通常是Root Complex或Endpoint)是指两个PCIe设备(如两个CPU、两个FPGA或两个GPU)通过PCIe链路直接连接,形成点对点(P2P)通信通道。:两个Intel/AMD CPU通过PCIe Crosslink直接通信(替代UPI/Infinity Fabric)。:主板需提供PCIe Crosslink连接(如特定插槽支持x16/x8 Crosslink)。

zly8865372的博客 1636

EfficientNet中的MBConv模块详解:为什么它能如此高效?

本文深度解析了EfficientNet中的MBConv模块,详细介绍了其核心设计理念、效率优化技术和复合缩放理论。MBConv通过深度可分离卷积、倒残差结构和注意力机制三大关键技术,实现了计算效率与模型性能的平衡,成为高效网络结构设计的典范。

tcp8optimizer的博客 346

【第六篇】Volley之https相关

Volley之https信任所有证书实现: public class HttpsTrustManager implements X509TrustManager { private static TrustManager[] trustManagers; private static final X509Certificate[] _AcceptedIssu...

A08110123的博客 175

RabbitMq安装

本文详细介绍了在CentOS7系统上离线部署RabbitMQ4.3.2的完整流程。主要内容包括:1)准备RabbitMQ安装包、Erlang依赖和socat网络工具;2)安装系统编译依赖并编译安装Erlang;3)部署RabbitMQ服务,配置环境变量和socat依赖;4)启用Web管理插件并创建管理员账号;5)配置防火墙放行端口;6)设置Systemd开机自启服务;7)提供常用运维命令。文档特别强调离线部署注意事项,包括socat依赖、版本兼容性、账号安全及主机名配置等问题,为生产环境部署提供完整解决方案

sinat_25821779的博客 323

Android 网络--Volley+OkHttp+Https

Volley 已经发布很长时间了, 也已被广泛应用, 相关教程到处都是. 本文只说两个值得注意的地方. 本文讲解部分比较少, 请参阅提供的相关链接. 完整的实现代码在 Github dodocat/AndroidNetworkDemo 可能看起来比这里更清晰. 使用 OkHttp 作为传输层的实现. Volley 默认根据 Android 系统版本使用不同的 Http 传输协议实现.

LuLu侠的专栏 1532

教程 | 基于遥感生态指数(RSEI)模型的生态环境质量评价

使用数据:Landsat8 OLI数据,行列号:122036,时间:20210527。 使用软件:ENVI5.3、ArcGIS10.2 二、4个指数计算 下述的四个指数的计算均是通过ENVI软件中的Band math工具进行计算。 (1)绿度指数 在常用的植被指数当中,归一化植被指数 ( NDVI) 能够有效地反映植被的生长情况与植被 覆盖度等重要植被的物理性质,检测灵敏度高,能 够较为真实地展现区域的地表空间变化规律,已经得到广泛利用,本文采用 NDVI 指数来代表绿度指数。 在ENV

YW_remote的博客 1万+

SAP MM新手避坑指南:工厂间调拨用301还是303?手把手教你选对移动类型

本文深入解析SAP MM模块中工厂间调拨的301与303移动类型,帮助新手避开常见陷阱。通过对比一步法(301)和两步法(303+305)的核心差异、适用场景及财务影响,提供清晰的决策框架和实战技巧,确保库存调拨的准确性和效率。

weixin_29223603的博客 346

Google Volley框架之https请求

先插一句。Google出的volley框架本身是支持https请求的,可是仅仅是针对有第三方机构认证过的。 假设自己随便在网上搞的一个证书,那volley是不支持请求的。 本文讲下怎样让volley支持自己搞的https证书。 改动volley源代码:com.android.myvolley.toolbox.HurlStack /** * Cre...

weixin_34362875的博客 105

AI大模型探索之路-认知篇1-全景透视:揭秘AIGC技术的进化之路

随着人工智能技术的突飞猛进,内容创作方式的发生了革命性的转变;从早期专业人员主导的内容生产,到现如今生成式人工智(AIGC)能创作时代;本篇文章主要讲解AIGC技术的演变历程。

寻道AI,探索AI无限可能! 1647

Volley支持https请求

老版本的Volley是不支持https的,新版本的Volley是可以支持https的,不过呢,如果服务器是自签名SSL,并且app端需要检验证书,Volley就不行了,需要借助okhttp。本文将对服务器自签名的情况下,app端检验分三种情况:第一,app不检验证书(Volley+okhttp);第二,app端不检验证书(新版Volley);第三,app需要检验证书(Volley+okhttp)。

sunfount 959

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Android 网络: Volley+OkHttp+Https

使用 OkHttp 作为传输层的实现. Volley 默认根据 Android 系统版本使用不同的 Http 传输协议实现.  在 Android 3.0 以上 Volley 使用 ApacheHttpStack 作为传输协议, 在2.3 及以下使用HttpURLConnection 作为传输层协议 OkHttp 相较于其它的实现有以下的优点. 支持SPDY,允许连接同一主

qlwm2016的博客 575

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Android 当Volley遇到Https

Volley中使用Https进行网络请求

http://www.flowerfat.com 2683

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android Volley框架支持https请求

Android Volley框架支持https请求

hlglinglong的专栏 6919

Android Volley Https证书不信任解决方案

转载地址:http://www.tuicool.com/articles/fQfe22 测试OK 天在调用新浪微博android sdk时出现Https证书不信任的问题,查了很多资料终于解决了,在这里把解决方案分享给大家。 错误如下: javax.net.ssl.SSLHandshakeException: org.bouncycastle.jce.exception.Ext

HAPP NEW JAVA 4093
上一篇: PAT.Advanced.P1068
RecurXrucer
博客等级 码龄15年 2粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值