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憑證快取問題損壞的瀏覽數據
