2011-01-27 2 views
3

私のアプリケーションは、サーバー通信にASIHttpRequestを使用します。私は、HTTPプロトコルをブロックしなければならないという要件を持っています。なぜなら、安全でないリンクを介してそのデータを送信するつもりはないからです。したがって、HTTPS経由のSSLのみが許可されます。また、リンクがHTTPSだと思っても、私は正しい証明書に電話していることを確認する必要があります。だから私は自分のコードでサーバー証明書の検証が必要です。私にこれを行う方法を教えてください。私のiPhoneアプリケーションが1つのサーバー証明書のみを使用するように制限します。

私はこれについて調査しました。私はいくつかの可能な答えを見つけました。 1つは、クライアント証明書を作成し、検証を実行することです。また、ASIHttpRequestのドキュメントの「クライアント証明書のサポート」の方法もあります。だから上記の私の要件を達成する方法。 CFNetworkコードをASIHttpRequestに統合することもできます。

よろしく、

Dilshan

答えて

2

あなたはStartSSLやThawteなどの認証局から検証証明書を取得することができます。次に、iOSは証明書が権限によって信頼されているかどうかをチェックします。 iOSには信頼できる別の認証機関が付属しています。

サーバー証明書が権限によって検証されない場合、接続は拒否されます。

コードで特別な処理を行う必要はありません。 https接続のみを使用してください。

+0

ご返信ありがとうございます。私はあなたが言及したことをしました。しかし、これが適切な方法であるかどうかの検証に関するいくつかの疑問がありました。 – Dilshan

+0

これは、すべての銀行業務が行う方法です。安全で正しい方法です。ドメインの所有者のみが、信頼できる機関によって検証された検証済みの証明書を取得できます。>それは安全です。誰かが証明書を偽造した場合、接続は拒否されます。 – x2on

関連する問題