AFNetworking 2.x 的SSL身份认证

Jun 07, 2016 pm 03:00 PM
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

要经常用的话,推荐写一个方法,然后以后用就可以复制黏贴了

AFNetworking 2.x 的SSL身份认证

- (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>
ログイン後にコピー

AFNetworking 2.x 的SSL身份认证

 

 然后在管理器里这么设置

 

 

AFNetworking 2.x 的SSL身份认证

 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>
 }];
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ユニバーサルコントロールが待ちきれませんか? Mac と Barrier を備えた PC 間でキーボードとマウスを共有しましょう ユニバーサルコントロールが待ちきれませんか? Mac と Barrier を備えた PC 間でキーボードとマウスを共有しましょう Apr 14, 2023 pm 12:04 PM

Barrier を使用して Mac/PC 間でキーボードとマウスを共有する方法 マウスとキーボードを共有したいコンピュータが同じネットワーク上にあることを確認する必要があり、初期設定中に異なる Mac 間を行き来することになります。設定。 Barrier の最新バージョンをここから入手します (Mac の場合は DMG、Windows の場合は exe) – キーボードとマウスを使用できるようにする各コンピューターにダウンロードします。 DMG から Barrier をインストールします (または、Windows の場合は exe を使用します)。 / にコピーします。使用する予定の各 Mac のアプリケーション フォルダーを右クリックし、[Barr] を選択します。

Java8 (291) 以降、TLS1.1 が無効になり、JDBC が SSL を使用して SqlServer2008 に接続できなくなります。 Java8 (291) 以降、TLS1.1 が無効になり、JDBC が SSL を使用して SqlServer2008 に接続できなくなります。 May 16, 2023 pm 11:55 PM

Java8-291 以降、TLS1.1 が無効になっているため、JDBC が SSL を使用して SqlServer2008 に接続できません。どうすればよいですか? java.security ファイルを変更する解決策は次のとおりです。 1. jre の java.security ファイルを見つけます。それが jre である場合は、lib/security の {JAVA_HOME}/jre/ に移動します (例:???C:\ProgramFiles\Java\jre1.8.0_301\lib\security)。Eclipse グリーンのインストール不要のポータブル バージョンの場合、インストール フォルダーで java.security を検索します (例: ????xxx\plugins \org)

HAProxy で SSL パススルーを実装する方法 HAProxy で SSL パススルーを実装する方法 Mar 20, 2024 am 09:30 AM

Web サーバーの負荷分散を維持することは、ダウンタイムを防ぐための重要な対策の 1 つです。ロード バランサーの使用は信頼性の高いアプローチであり、HAProxy は高く評価されています。 HAProxy を使用すると、負荷分散方法を正確に構成し、SSL パススルーをサポートして、クライアントとサーバー間の通信のセキュリティを確保できます。まず、HAProxy で SSL パススルーを実装することの重要性を検討し、その後、この機能を実装するために必要な手順の詳細な説明と、理解を深めるための例を示します。 SSLパススルーとは何ですか?どうしてそれが重要ですか? HAProxy はロード バランサーとして、Web サーバーに流れる負荷を受け入れ、構成されたサーバー全体に分散します。負荷分散はクライアントデバイスを対象とし、

MySQL: SSL 接続とセットアップ手順の概要 MySQL: SSL 接続とセットアップ手順の概要 Sep 08, 2023 pm 03:51 PM

MySQL: SSL 接続の概要とセットアップ手順の概要: MySQL は、クライアントとサーバー間で送信されるデータを暗号化するための SSL (SecureSocketsLayer) 接続を提供します。この記事では、SSL 接続の概念と役割を紹介し、MySQL で SSL 接続を設定する手順と関連コード例を示します。はじめに: ネットワークとデータ伝送が拡大し続けるにつれて、データ セキュリティがますます重要になってきます。 SSL 接続を使用すると、次のことを追加できます。

SSL を使用した Nginx: HTTPS を構成して Web サーバーを保護する SSL を使用した Nginx: HTTPS を構成して Web サーバーを保護する Jun 09, 2023 pm 09:24 PM

Nginx は、高性能 Web サーバー ソフトウェアであり、強力なリバース プロキシ サーバーおよびロード バランサーです。インターネットの急速な発展に伴い、機密性の高いユーザー データを保護するために SSL プロトコルを使用する Web サイトが増えています。Nginx は強力な SSL サポートも提供し、Web サーバーのセキュリティ パフォーマンスをさらに強化しています。この記事では、SSL プロトコルをサポートし、Web サーバーのセキュリティ パフォーマンスを保護するように Nginx を構成する方法を紹介します。 SSLプロトコルとは何ですか? SSL (セキュアソケット)

SharePoint に SSL 証明書をインストールしますか? SharePoint に SSL 証明書をインストールしますか? Feb 19, 2024 am 11:27 AM

SharePoint に SSL 証明書をインストールすることは、Web サイトを保護し、暗号化された接続を提供するための重要な手順です。正しいインストール手順に従うことで、Web サイト データのセキュリティを確保し、検索エンジンでのランキングを向上させ、訪問者により良いユーザー エクスペリエンスを提供できます。 SSL 証明書を取得する 信頼できる認証局 (CA) に問い合わせて、SSL 証明書を購入します。必要な認証およびドメイン所有権の検証情報を入力します。検証プロセスが完了すると、SSL 証明書ファイルを受け取ります。証明書ファイルの準備 テキスト エディタを使用して SSL 証明書ファイルを開きます。証明書の内容を新しいテキスト ファイルにコピーします。ファイルを yourdomain.cer として保存します。「yourdomain&#8221」を必ず変更してください

修正: Windows PC 上の Chrome での ERR_CERT_WEAK_SIGNATURE_ALGORITHM エラー 修正: Windows PC 上の Chrome での ERR_CERT_WEAK_SIGNATURE_ALGORITHM エラー Apr 18, 2023 am 09:41 AM

最近、多くの Windows ユーザーが、Chrome ブラウザの閲覧中にセキュリティで保護されていない Web ページが見つかり、エラー メッセージ「YourconnectionisnotprivatewithaerrorcodeNET::ERR_CERT_WEAK_SIGNATURE_ALGORITHMonWindows11 system」がスローされるというエラー メッセージが表示される問題について苦情を言い始めました。現在、Windows ユーザーは、この問題の原因と、それを修正して Web を簡単に閲覧できる方法がわかりません。このエラー メッセージが表示される原因のいくつかを以下に示します。 SSL証明書キャッシュの問題による閲覧データの破損

Nginx Proxy Manager と SSL 証明書の使用: Web サイトのセキュリティを確保 Nginx Proxy Manager と SSL 証明書の使用: Web サイトのセキュリティを確保 Sep 26, 2023 am 11:22 AM

NginxProxyManager と SSL 証明書の使用: Web サイトのセキュリティを確保するには、特定のコード例が必要です 概要: この記事は、Web サイトのセキュリティを確保するための NginxProxyManager と SSL 証明書の使用を紹介することを目的としています。この記事では、NginxProxyManager の基本的な概念と機能を紹介し、Web サイトのセキュリティを確保するために SSL 証明書を構成する方法を具体的なコード例を使用して示します。はじめに 現在のインターネット環境では、Web サイトのセキュリティが最も重要です。そして

See all articles