iOS http转换https网络访问的配置

ASI ‘CFNetwork SSLHandshake failed (-9824)‘ 文章目录ASI 'CFNetwork SSLHandshake failed (-9824)'问题解决思考参考 ASI ‘CFNetwork SSLHandshake failed (-9824)’ 10年的老项目,网络库使用是ASIHTTPRequest,未做证书校验。设置了[self.myHttpRequest setValidatesSecureCertificate:NO]之后发现网络问题。 问题 程序报 CFNetwork SSLHandshake failed (-9824) 这样的错误,网络请 阅读详情
  1. 后台配置一个CA证书,包含域名信息等,保存后给前端使用,前端把cer文件拖入工程中。(必须保证前后端使用的证书一致)
  2. info.plist 文件中原本设置NSAllowsArbitraryLoads 设置为NO,NSAllowsArbitraryLoads若设置为YES,则表示禁用ATS功能,NO为开启 ATS功能,默认为NO
  3. 苹果硬性要求服务端的TLS版本必须>= 1.2
  4. 服务端配置OK后,前端把cer文件拖入工程中,copy ,然后进行代码设置

如下代码片段:
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@”server” ofType:@”cer”];
NSData * certData =[NSData dataWithContentsOfFile:cerPath];
NSSet * certSet = [[NSSet alloc] initWithObjects:certData, nil];
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
// 是否允许,NO– 不允许无效的证书(如果是自建证书相当于无效证书,此处若是自建证书,必须设置为YES)
[securityPolicy setAllowInvalidCertificates:YES];
// 设置证书
[securityPolicy setPinnedCertificates:certSet];
manager.securityPolicy = securityPolicy;
……..继续执行正常AF请求即可。

我们曾遇到的问题:
1.网络请求直接失败,错误信息如下:
Error Domain=NSURLErrorDomain Code=-1200 “发生了 SSL 错误,无法建立与该服务器的安全连接。” UserInfo={_kCFStreamErrorCodeKey=-9847, NSLocalizedRecoverySuggestion=您仍要连接此服务器吗?, NSUnderlyingError=0x7fbc09cd58c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 “(null)” UserInfo={_kCFStreamPropertySSLClientCertificateState=0, _kCFNetworkCFStreamSSLErrorOriginalValue=-9847, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9847}}, NSLocalizedDescription=发生了 SSL 错误,无法建立与该服务器的安全连接。, NSErrorFailingURLKey=https://192.168.100.22:8011/interfaces/index.ashx?action=get_date_now, NSErrorFailingURLStringKey=https://192.168.100.22:8011/interfaces/index.ashx?action=get_date_now, _kCFStreamErrorDomainKey=3}

1.检查发现是服务端的TLS版本是1.1,没满足1.2版本配置
2.解决方式:后台升级TLS版本
3,运行程序,依然网络请求失败,但不是这个错误了,发现证书错误,制作证书的时候没加入域名地址。解决后网络正常。

iOS配置HTTPS iOS配置HTTPS的详解 阅读详情

相关推荐

ngrok内网穿透支持https访问教程

​ 背景: HTTP(Hypertext Transfer Protocol)超文本传输协议是用来在Internet上传送超文本的传送协议,它可以使浏览器更加高效,使网络传输减少。但HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险。 HTTPS(Secure Hypertext Transfer Protocol) 安全超文本传输协议是一个安全的通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。HTTPS使用安全套接字层(SSL)进行信息交换,简单来说HTTPS是HT

arisono的博客 4341

支持https请求以及https请求的抓包

iOS9推出的时候,苹果希望大家使用https协议,来提高数据传输之间的安全性。下面我就从最简单的代码介绍,如何在工程中设置,来支持https的请求。   一、证书准备篇   1.证书转换 在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句 // openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der 这样你...

weixin_34015860的博客 488

Ngrok实现内网穿透---实现https安全访问

​ 背景: HTTP(Hypertext Transfer Protocol)超文本传输协议是用来在Internet上传送超文本的传送协议,它可以使浏览器更加高效,使网络传输减少。但HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险。 HTTPS(Secure Hypertext Transfer Protocol) 安全超文本传输协议是一个安全的通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。HTTPS使用安全套接字层(SSL)进行信息交换,简单来说HTTPS是HT

colorfulyan的博客 4103

kCFStreamErrorDomainSSL, -9802

kCFStreamErrorDomainSSL, -9802 我是微博授权时get页面时候碰到的 其实就是http安全问题 在info.plist 里面openassource   添加 NSAppTransportSecurity             NSAllowsArbitraryLoads             就好了

Clement_Gu的博客 1616

VHDL实战:基于EDA的数字频率计(FREQ)设计与优化

本文详细介绍了使用VHDL语言和EDA工具设计并优化数字频率计(FREQ)的全过程。从核心原理与模块划分入手,深入讲解了时钟分频、测频控制、计数锁存及显示驱动等关键模块的VHDL实现,并提供了从代码编写、功能仿真到综合布局布线的完整EDA实战指南。文章还探讨了测量精度优化、资源权衡及跨时钟域处理等进阶话题,是掌握FPGA数字系统设计的经典案例。

milk8的博客 583

Windows批处理脚本实战:用Ping命令打造简易网络监控工具(附完整代码)

本文介绍如何利用Windows批处理脚本和Ping命令,快速构建一个轻量级、自动化的网络监控工具。该方案无需额外安装软件,通过周期性探测目标IP连通性,并将结果(成功、失败及延迟)自动记录到带时间戳的日志文件中,适合中小团队或临时监控需求,实现低成本、高效率的网络状态监控。

5f4d3s2a1q的博客 494

iOS https网络请求

在 iOS 9 和 OS X 10.11 中,默认情况下非 HTTPS 的网络访问是被禁止的。当然,因为这样的推进影响面非常广,作为缓冲,我们可以在 Info.plist 中添加 NSAppTransportSecurity 字典并且将 NSAllowsArbitraryLoads 设置为 YES 来禁用 ATS。 不过,WWDC 16 中,Apple 表示将继续在 iOS 10 和 m

枫叶雪 7612

Unity 开发Apple Vision Pro物体识别追踪ObjectTracking

当您在 visionOS 应用中实现对象跟踪时,您可以将现实世界中的物体无缝集成到人们的周围环境中,以增强他们的沉浸式体验。通过跟踪一个或多个物体的 3D 位置和方向,您的应用可以使用虚拟内容增强它们。您可以使用对象跟踪来提供与人周围环境中的对象的虚拟交互,例如:引导某人使用某件物品的功能、阅读其历史或了解其在周围环境中的行为。使用虚拟手册帮助人们解决家居用品和电器的问题。

Cool-浩 1185

ios系统更新后无网络连接到服务器,升级完X9,iOS11之后,原来一切都正常,现在无法连接服务器。...

AFHTTPSessionManager *session = [AFHTTPSessionManager manager];//添加证书NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"mnchip" ofType:@"cer"];NSData *cerDat = [NSData dataWithContentsOfFile...

weixin_42362068的博客 736

AI算力网络与通信领域流量分析:优化策略探讨_副本

今天的AI就像一个"超级吃货",每天要"吃"掉海量数据、“消耗"巨量算力——训练一个千亿参数的大模型,可能需要上万块GPU同时工作数周,其间产生的数据传输量足以填满数百万个1TB硬盘。这些GPU和计算节点通过网络连接形成"AI算力网络”,而数据在节点间的流动就是"通信流量"。如果把算力比作AI的"肌肉",那流量就是"血液"——血液不通畅,肌肉再强也使不上劲。

AI天才研究院 1198

利用ArcGIS快速生成等高线边界,完成地形图拼图

地形图边界一般在CAD中手动绘制,然而,一幅边缘复杂的地形图边界的绘制需要花费大量时间和精力,为了减少重复性工作,提高效率,用ArcGIS软件可以自动生成实测地形图的边界

yl14774636230的博客 9068

iOS9下http及https

iOS9引入了新特性App Transport Security (ATS)。详情:App Transport Security (ATS) 新特性要求App内访问的网络必须使用HTTPS协议。 但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。 解决办法: 在Info.plist中添加NSAppTransportS

vencentle 517

学习QT之应用程序打包发布

一、编译QT程序(release编译) 二、将release文件夹中的可执行文件复制到一个空的文件夹中 三、使用windeployqt打包工程 切换到可执行文件路径,执行windeployqt xxx.exe: 然后就会将程序所需要用到的资源以及库文件生成到可执行文件路径下: 此时应用程序就可以点击运行了。 四、使用Enigma Virtual Box封包(将文件夹内的文件集成为单可执...

贝勒里恩的博客 762

IOS无法正常发起请求

iOS9引入了新特性App Transport Security (ATS)新特性要求App内访问的网络必须使用HTTPS协议。 但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。 解决办法: 1.在Info.plist中添加NSAppTransportSecurity类型Dictionary 2.在NSAppTranspo

yui2752316的博客 972

C#上位机开发入门:从基础到进阶的全方位指南

C#作为一门现代化编程语言,具备强大的功能和广泛的生态支持,适合用于开发各种类型的上位机应用。通过学习并掌握UI开发、通信协议、多线程编程、数据库操作等技能,你可以打造出稳定、易用、性能优异的上位机软件。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 8311

WorkBuddy 连接百度网盘:能查能上传,但别指望 AI 帮你下载

本文介绍了如何通过WorkBuddy连接百度网盘实现文件管理功能。首先需要在百度开放平台创建应用并获取AppKey等凭证,然后通过拼接授权URL获取Access Token并填入WorkBuddy。实际测试表明,该连接器支持查看目录结构、搜索文件及上传文档,但无法实现文件下载和创建分享链接,原因是百度网盘MCP Server未提供相关接口。使用前需明确功能限制,该方案适合需要远程查阅网盘内容但不涉及下载的场景。

u011186532的专栏 1904

iOS实用技巧 - AFNetworking2安全的使用自签证书访问HTTPS

友情提示:本文使用的AFNetworking是最新git pull的2.3.1版本,如果想确认你机器上的AFNetworking版本,请打git tag命令查看。   绝大部分iOS程序的后台服务都是基于RESTful或者WebService的,不论在任何时候,你都应该将服务置于HTTPS上,因为它可以避免中间人攻击的问题,还自带了基于非对称密钥的加密通道!现实是这些年涌现了大量速成的移动端

benbenxiongyuan的专栏 779

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

iOS9 HTTP 不能正常使用的解决办法

今天升级Xcode 7.0 bata发现网络访问失败。 输出错误信息 The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. Google后查证,iOS9引入了新特性App Transport Security

我太傻的专栏 270

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

修改App Transport Security policy requires the use of a secure connection问题

iOS9引入了新特性App Transport Security (ATS)。 新特性要求App内访问的网络必须使用HTTPS协议。 但是很多地方还是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。 所以会出现HTTP不能正常使用的问题,若不做任何处理,会出现如题的问题。

学海无涯苦作舟 3035

ios xcode http请求转换为https请求

由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架。因此研究了一下在iOS中使用HTTPS请求的实现。主要功能就是将传输的报文进行加密,提高安全性。 1、证书准备 证书分为两种,一种是花钱向认证的机构购买的证书,服务端如果使用的是这类证书的话,那一般客户端不需要做什么,用HTTPS进行请求就行了,苹果内置了那些受信任的根证书的。另一种是自

ygh5123687的博客 6065

ios https 安全证书配置

原定于2017年1月1日起所有提交到 App Store 的App必须强制开启 ATS,需要配置Https。但是现在不需要了,无固定期限的往后延期了,但是这个还是得弄明白下为好,说不定哪天突然就让弄了。 一、 2017年1月1日起所有提交到 App Store 的App必须强制开启 ATS。 就是要求去掉 Info.plist 的 NSAllowsArbitraryLoads ...

baikan6930的博客 814

iOS上访问HTTPS站点几种方法优缺点

这两天一直在研究如何用UIWebView访问HTTPS站点,试过很多方法,但都有这样那样的缺陷,下面简单分享一下,希望各位提点意见: 1。调用私有API     最简单,也最危险的方法,调用 setAllowsAnyHTTPSCertificate:forHost  ,后果怎么样就不用我说了吧。 2.  libCurl    这是一个开源项目,用C语言写的URL转换库,是基于于op

蜂糖 2万+

iOS开发 AFN配置https请求

一.项目中的网络交互都是基于AFN,要求AFN版本在3.0及其以上; 二.代码部分 设置AFN请求管理者的时候 添加 https ssl 验证。 // 1.获得请求管理者 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; // 2.加上这个函数,https ssl 验证。 [manager setSecurityPo

开发仔XG 1万+

关于ios访问HTTPS站点的几种方法

1。调用私有API     最简单,也最危险的方法,调用 setAllowsAnyHTTPSCertificate:forHost  ,后果怎么样就不用我说了吧。 2.  libCurl    这是一个开源项目,用C语言写的URL转换库,是基于于openssl的,可以支持目前大部分的URL,包括DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMA

daiyelang的专栏 2096

【iOS】iOS中简单的网络请求

在完成暑假最后一个项目——仿写苹果原生APP天气预报时,需要进行网络请求,且网络请求在iOS开发中是比较重要的知识点,特学习并记录。

2301_80467753的博客 2388

HTTP和HTTPS的区别

HTTP部分的传送门:https://mp.youkuaiyun.com/mdeditor/100921051# 在介绍HTTP和HTTPS的区别之前我们先观察以下两张图: 这是我用google访问校园网时,url地址栏旁边会有不安全的提示。下面的是百度的主页(湖人球迷(●'◡'●)) 自2017年1月,Chrome把收集密码或信用卡数据的HTTP页面标记为不安全,自2017年10月,Chrom...

weixin_43624024的博客 496
上一篇: 网络检测
下一篇: 极光推送正式环境收不到推送消息
rubyRock
博客等级 码龄10年 1粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值