NSURLSession htpps证书设置
NSURLSession http转Https
1.设置代理
NSURLSession *sesson = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration] delegate:self delegateQueue:[[NSOperationQueue alloc]init]];
2.在代理方法中实现对证书的操作
方法一:这是在开发者足够信任后端的安全的情况下做的,比如调个接口,这样做的结果就是忽略证书的验证,直接信任。
- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler{if([challenge.protectionSpace.authenticationMethodisEqualToString:NSURLAuthenticationMethodServerTrust]){//服务器信任证书NSURLCredential *credential = [NSURLCredentialcredentialForTrust:challenge.protectionSpace.serverTrust];//服务器信任证书if(completionHandler)completionHandler(NSURLSessionAuthChallengeUseCredential,credential);}}
方法二:可以把证书加到工程中,然后https访问时在代理方法中进行证书的验证
- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler{SecTrustRef servertrust = challenge.protectionSpace.serverTrust;SecCertificateRef certi= SecTrustGetCertificateAtIndex(servertrust, 0);NSData *certidata = CFBridgingRelease(CFBridgingRetain(CFBridgingRelease(SecCertificateCopyData(certi))));NSString *path = [[NSBundle mainBundle] pathForResource:@"https" ofType:@"cer"];NSData *localCertiData = [NSData dataWithContentsOfFile:path];if ([certidata isEqualToData:localCertiData]) {NSURLCredential *credential = [[NSURLCredential alloc] initWithTrust:servertrust];[challenge.sender useCredential:credential forAuthenticationChallenge:challenge];completionHandler(NSURLSessionAuthChallengeUseCredential, credential);NSLog(@"服务端证书认证通过");}else {completionHandler(NSURLSessionAuthChallengeCancelAuthenticationChallenge, nil);NSLog(@"服务端认证失败");}}
在北京的灯中,有一盏是我家的。这个梦何时可以实现?哪怕微微亮。北京就像魔鬼训练营,有能力的留,没能力的走……
NSURLSession htpps证书设置相关推荐
- 爬虫:Charles证书设置为系统信任证书(root)
简介将Charles证书设置为系统信任证书,前提条件是需要root手机. 1.使用MD5计算证书hash值 openssl x509 -subject_hash_old -in D:\Adownloa ...
- https证书设置以及设置301跳转
https证书设置以及设置301跳转 1.在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中. 2.打开 Nginx 安装目录下 conf 目录中的 nginx.con ...
- 李洪强iOS之集成极光推送二iOS 证书 设置指南
李洪强iOS之集成极光推送二iOS 证书 设置指南 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning ...
- win10中Charles从下载安装到证书设置和雷电模拟器或浏览器中抓包测试
一.下载安装及证书设置 1.在Charles官网https://www.charlesproxy.com/download/下载,我这边下载的是免费体验版的. 体验版用一段时间就会退出,这里另外提供给 ...
- Springboot工程配置htpps证书
Springboot工程配置htpps证书 在配置文件里面做相对应的配置 #https端口 server.port=9911#http端口 server.http.port=29911#强制跳转的端口 ...
- window系统创建自签名SSL证书设置Https
原文链接:https://dsx2016.com/?p=1790 公众号:大师兄2016 应用场景 手机代理到电脑端 使用测试域名调试微信支付,需要在微信内置浏览器和手机自带浏览器唤起微信支付 测试公 ...
- 渗透笔记之火狐代理设置证书设置
渗透笔记之火狐代理设置证书设置 1.火狐浏览器----右上角三横杠----选项 2.选项----高级----设置----不使用代理----确定 3.点击浏览器中间小狐狸 4.双击color蓝色区域-- ...
- 关于ssl免费证书设置
申请免费证书 http://www.startssl.com/ 只能申请class 1的一年期限的免费证书 申请完毕, 在IIS管理器,和"起始页"平级的机器->功能视图- ...
- windows系统SSH证书设置
在客户端终端运行命令 ssh-keygen -t rsa 然后就会显示这两行: Generating public/private rsa key pair. Enter file in which ...
最新文章
- 8,协议序列化组件NewLife.Serialization
- MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
- 【已解决】蓝桥杯 2017年C组第五题 杨辉三角(分析与总结)
- 黑科技揭秘:如何通过阿里云超算,使得汽车仿真效率提升25%
- linux tomcat守护_linux-非root用户运行tomcat(示例代码)
- Mr.J--树、二叉树、森林的转换
- angularjs -- 页面模板清除
- unity 随机数_Unity 雨水滴到屏幕效果
- Java多线程售票一张票多买问题
- linux suse 安装redis,redis 集群安装问题 【SUSE Linux Enterprise Server 11 SP3】
- Pycharm使用---Black代码格式化工具
- 操作系统课程设计--银行家算法的模拟实现
- MIDAS分布应用程序中的几个问题
- Intellij IDEA破解码
- 良心安利草皮3d纹理图片素材网站
- 为何提示网站安全证书有问题?不同原因下,如何解决?
- 常见国际贸易专业术语
- 解决 手机能连接上wifi而电脑却却不能连接上wifi的情况
- 华为FPGA设计设计规范
- OpenStreetMap初探(七)——渲染和地图瓦片之安装Mapnik
热门文章
- pycharm 更换 pip 下载源
- oracle 导出空行,oracle sqlplus空行处理方法
- mybatis 级联查询
- ARC下循环引用的问题
- Maven系列学习(1)——安装以及本地仓库和仓库镜像的配置
- 幼儿剑桥英音版Super Safari123级别学生书PDF+练习册PDF+教师书PDF+白板课件
- 富文本数据存储及回显
- 机器学习三 归一化_正则化_多项式升维
- 利用Ajax爬取今日头条头像,街拍图片。关于崔庆才python爬虫爬取今日头条街拍内容遇到的问题的解决办法。
- 浅谈傅里叶——5. 短时傅里叶的缺点与卷积的基本概念