AFNetworking 2.x 的SSL身份认证
1.如果想跳过ssl验证的话 AFHTTPSessionManager * client = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:baseUrl]];[[client securityPolicy] setAllowInvalidCertificates:YES]; 2.加入ssl证书 一般来讲如果app用了web service ,
1.如果想跳过ssl验证的话
AFHTTPSessionManager * client = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:baseUrl]];[[client securityPolicy] setAllowInvalidCertificates:YES];
2.加入ssl证书
一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探
其实这么做的话还是不够的.我们还需要防止中间人攻击(不明白的自己去百度)。攻击者通过伪造的ssl证书使app连接到了伪装的假冒的服务器上,这是个严重的问题!
那么如何防止中间人攻击呢?
首先web服务器必须提供一个ssl证书,需要一个 .crt 文件,然后设置app只能连接有效ssl证书的服务器。
在开始写代码前,先要把 .crt 文件转成 .cer 文件,然后在加到xcode 里面
openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der登录后复制
如果你用的是NSURLConnection,你需要这样检查证书,必须添加一个 NSURLConnectionDelegate
- (<span>void</span>)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
用 AFNetworking 2.x的话就简单多了,只需要添加一个AFSecurityPolicy
和 setAFHTTPRequestOperationManager
要经常用的话,推荐写一个方法,然后以后用就可以复制黏贴了
- (AFSecurityPolicy*<span>)customSecurityPolicy { </span><span>/*</span><span>*** SSL Pinning ***</span><span>*/</span><span> NSString </span>*cerPath = [[NSBundle mainBundle] pathForResource:<span>@"你的证书</span><span>"</span> ofType:<span>@"</span><span>cer</span><span>"</span><span>]; NSData </span>*certData =<span> [NSData dataWithContentsOfFile:cerPath]; AFSecurityPolicy </span>*securityPolicy =<span> [[AFSecurityPolicy alloc] init]; [securityPolicy setAllowInvalidCertificates:NO]; [securityPolicy setPinnedCertificates:@[certData]]; [securityPolicy setSSLPinningMode:AFSSLPinningModeCertificate]; </span><span>/*</span><span>*** SSL Pinning ***</span><span>*/</span> <span>return</span><span> securityPolicy; }</span>
然后在管理器里这么设置
AFHTTPRequestOperationManager *manager =<span> [AFHTTPRequestOperationManager manager]; </span><span>/*</span><span>*** SSL Pinning ***</span><span>*/</span><span> [manager setSecurityPolicy:[self customSecurityPolicy]]; </span><span>/*</span><span>*** SSL Pinning ***</span><span>*/</span><span> [manager GET:@"网站的url" parameters:</span><span>params</span> success:^(AFHTTPRequestOperation *operation, NSDictionary*<span> responseObject) { </span><span>//</span><span>这里是你自己的代码了</span> } failure:^(AFHTTPRequestOperation *operation, NSError *<span>error) { </span><span>//</span><span>注释同上</span> }];

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

如何使用 Barrier 在 Mac / PC 之间共享键盘和鼠标您需要确保要与其共享鼠标和键盘的计算机都在同一个网络上,并且在初始设置期间您将在不同的 Mac 之间来回切换。在此处获取最新版本的 Barrier(适用于 Mac 的 DMG,适用于 Windows 的 exe)– 将其下载到您希望能够使用键盘和鼠标的每台计算机上将 Barrier 从 DMG(或使用 exe 安装到 Windows)复制到您打算使用它的每台 Mac 上的 /Applications 文件夹,然后右键单击 Barr

Java8-291之后,禁用了TLS1.1,使JDBC无法用SSL连接SqlServer2008怎么办,以下是解决办法修改java.security文件1.找到jre的java.security文件如果是jre,在{JAVA_HOME}/jre/lib/security中,比如????C:\ProgramFiles\Java\jre1.8.0_301\lib\security如果是Eclipse绿色免安装便携版在安装文件夹搜索java.security,比如????xxx\plugins\org

保持Web服务器负载平衡是预防停机的关键措施之一。使用负载平衡器是一种可靠的方法,其中HAProxy是一个备受推崇的选择。使用HAProxy,您可以精确配置负载平衡方式,同时支持SSL直通,从而保障客户端与服务器之间的通信安全。首先探讨在HAProxy中实现SSL直通的重要性,随后详细讨论了实施此功能所需的步骤,并提供了一个示例以便更好理解。什么是SSL通过?为什么它很重要?作为负载均衡器,HAProxy接受并分配流向您Web服务器的负载,在已配置的服务器上进行分发。负载的分配是针对客户端设备和

MySQL:SSL连接简介及设置步骤摘要:MySQL提供了SSL(SecureSocketsLayer)连接来加密在客户端和服务器之间传输的数据。本文将介绍SSL连接的概念和作用,并提供在MySQL中设置SSL连接的步骤以及相关的代码示例。导语:随着网络和数据传输的不断扩大,数据安全性变得越来越重要。通过使用SSL连接,我们可以加

在SharePoint上安装SSL证书是保护网站安全性和提供加密连接的关键步骤。通过遵循正确的安装步骤,您可以确保网站数据的安全性,并提升在搜索引擎中的排名,为访问者提供更好的用户体验。获取SSL证书联系可信任的证书颁发机构(CA)购买SSL证书。提供所需的身份验证和域名所有权验证信息。完成验证流程后,您将收到SSL证书文件。准备证书文件使用文本编辑器打开您的SSL证书文件。将证书内容复制到一个新的文本文件中。将该文件保存为yourdomain.cer,确保将”yourdomain”

Nginx是一个高性能的Web服务器软件,同时也是一款强大的反向代理服务器和负载均衡器。随着互联网的迅速发展,越来越多的网站开始采用SSL协议保护敏感用户数据,而Nginx也提供了强大的SSL支持,使得Web服务器的安全性能更进一步。本文将介绍如何配置Nginx以支持SSL协议,并保护Web服务器的安全性能。什么是SSL协议?SSL(SecureSocke

NginxProxyManager与SSL证书的使用:保障网站安全,需要具体代码示例摘要:本文旨在介绍NginxProxyManager与SSL证书的使用,以保障网站的安全性。文章将介绍NginxProxyManager的基本概念和功能,并通过具体的代码示例来展示如何配置SSL证书以确保网站的安全性。引言现代互联网环境中,网站的安全性至关重要。而

许多Windows用户最近开始抱怨一个问题,即他们在浏览chrome浏览器发现不安全的网页时收到错误消息并抛出错误消息YourconnectionisnotprivatewithaerrorcodeNET::ERR_CERT_WEAK_SIGNATURE_ALGORITHMonWindows11系统。现在Windows用户不确定是什么原因导致了这个问题,以及他们如何解决这个问题以便轻松浏览网页。下面提到了可能导致此错误消息的一些原因。SSL证书缓存问题损坏的浏览数据
