• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > iOS中AFNetworkingHTTPS配置不成功,谁碰到过同样的错误?

iOS中AFNetworkingHTTPS配置不成功,谁碰到过同样的错误?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了同样的错误不要犯两次,不犯同样的错误,同样的错误犯两次,重复犯同样的错误,犯同样的错误 成语等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: iOS中AFNetworking HTTPS配置不成功,谁碰到过同样的错误?
描述:

今天公司弄到了HTTPS证书 我在工程里配置 试了很多遍都报错

想问问大神错误在哪里

代码如下,以为是网络请求封装的不对,特意写了个简单的

NSDictionary *params = @{

                         @"mobile" : self.loginName,
                         @"password" : [RSA rsaPassword:self.password]
                         };
 
// 1.获得请求管理者
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
// 2.申明返回的结果是text/html类型
mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
// /先导入证书
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"fullway" ofType:@"cer"];//证书的路径
NSData *certData = [NSData dataWithContentsOfFile:cerPath];
// AFSSLPinningModeCertificate 使用证书验证模式
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];

// allowInvalidCertificates 是否允许无效证书(也就是自建的证书),默认为NO
// 如果是需要验证自建证书,需要设置为YES
securityPolicy.allowInvalidCertificates = YES;
 
//validatesDomainName 是否需要验证域名,默认为YES;
//假如证书的域名与你请求的域名不一致,需把该项设置为NO;如设成NO的话,即服务器使用其他可信任机构颁发的证书,也可以建立连接,这个非常危险,建议打开。
//置为NO,主要用于这种情况:客户端请求的是子域名,而证书上的是另外一个域名。因为SSL证书上的域名是独立的,假如证书上注册的域名是<a href="\"http://www.google.com\"" target="\"_blank\""  checkurl(this)\"=""url_1\"">www.google.com</a>,那么mail.google.com是无法验证通过的;当然,有钱可以注册通配符的域名*.google.com,但这个还是比较贵的。
//如置为NO,建议自己添加对应域名的校验逻辑。
securityPolicy.validatesDomainName = NO;
 
securityPolicy.pinnedCertificates = [NSSet setWithObject:certData];
 
 
 
// 加上这行代码,https ssl 验证。
[mgr setSecurityPolicy:securityPolicy];
 
// 3.发送POST请求
[mgr POST:[NSString stringWithFormat:@"%@%@",[WDGlobal global].BASE_URL,USER_LOGIN] parameters:params progress:^(NSProgress * _Nonnull uploadProgress) {
     
} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
     
    NSLog(@"请求成功 ---- %@",responseObject);
     
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
     
        NSLog(@"\nerror--------------------->\n%@\n----------------------->>\nerror.code---\n%ld\n----------------------->>\nerror.localizedDescription\n%@",error,error.code,error.localizedDescription);
     
}];



这里是服务器返回的错误log


error--------------------->

Error Domain=NSURLErrorDomain Code=-1200 "发生了 SSL 错误,无法建立与该服务器的安全连接。" UserInfo={_kCFStreamErrorCodeKey=-9824, NSLocalizedRecoverySuggestion=您仍要连接此服务器吗?, NSUnderlyingError=0x174445580 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, _kCFNetworkCFStreamSSLErrorOriginalValue=-9824, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9824}}, NSLocalizedDescription=发生了 SSL 错误,无法建立与该服务器的安全连接。, NSErrorFailingURLKey=https://139.224.186.36:8443/p... NSErrorFailingURLStringKey=https://139.224.186.36:8443/p... _kCFStreamErrorDomainKey=3}


----------------------->>
error.code---
-1200
----------------------->>
error.localizedDescription
发生了 SSL 错误,无法建立与该服务器的安全连接。



安卓的同事可以访问

不知道哪里配置除了问题 一脸萌比

解决方案1:

你的证书是不是后台直接给你的?如果是你试试下面的做法,我前几天刚弄完,也遇到一个问题,errorCode忘了是不是和你的一样了.

因为AFNetworking不会对证书做base64处理,所以后台直接给的证书是不能用的,你试试用这个方法拿:openssl s_client -connect www.mywebsite.com:443 </dev/null 2>/dev/null | openssl x509 -outform DER > myWebsite.cer 网址换成你们的,这样拿到的.cer文件是AFNetworking直接可以用的。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • iOS中AFNetworkingHTTPS配置不成功,谁碰到过同样的错误?

相关文章

  • 2017-06-05 请问这种带尖角的view有什么好的实现方法
  • 2017-06-05 webview加载网页webview的文字间距能修改否
  • 2017-06-05 iOS从SVN上下载下来的项目,podfile中缺少三方库,工程也不报错??
  • 2017-06-05 iOS制作静态库时,由于引入外部framework,编译时出现'xxh'filenotfound问题
  • 2017-06-05 APP上如何实现特定目的网络请求的转发和代理
  • 2017-06-05 我用AVPlayer播放本地视频在切换前后台状态的时候有几率会先出现启动图片再跳回播放界面是为啥?
  • 2017-06-05 怎么实现一个有节点的进度条(包含任务节点),根据完成的情况展示不同节点(要求能适配各种屏幕)。
  • 2017-06-05 (swift)iOSApp下架
  • 2017-06-05 多级复杂对象数组进行模糊查询
  • 2017-06-05 UINavgationControllerPOP问题(偶发)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • UITableViewreloadData之后,section区头的位置变化
    • 参数Swiftselector参数问题
    • 苹果ios系统如何获取iOS系统相册绝对路径
    • ios7锁屏界面iOS在某界面强制横屏
    • 余额宝最多能存多少钱一个手机最多能"检测"到多少个蓝牙列表?
    • 关于get请求数据不更新的问题
    • 摇号审核通过已经通过审核的应用分享时仍然显示"未审核应用"
    • 请帮我解析一个jsonswift语言,我已经上传一个demo,json数据在demo中,拜托了。
    • iOS基础控件iOS中UITextView字数统计中英?
    • 怎么实现一个有节点的进度条(包含任务节点),根据完成的情况展示不同节点(要求能适配各种屏幕)。

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有