手始めに、セキュリティに真剣に取り組んでいるのであれば、セキュリティに適切な時間とリソースを割き、機能リストの第一級市民のように扱ってください。「SSL を有効にする」だけで、物事が安全であるふりをしてはいけません。あなたがこれをしている、またはこれをしていないことを示唆しているわけではありませんが、先に進む前にそれを言わなければならないように感じます.
とは言うものの、WS-* がすべて http 要求の上に構築されていることは既にご存じでしょう。大量の http 要求を実行するときはいつでも、ASIHTTPRequestが iPhone で非常に役立つことに気付くでしょう。ただし、それで 100% 達成できるわけではありません。
iPhone から見ると、次のようになります。
- あらゆる種類のネットワーク リソースを処理するための高レベル API であるURLローディング システム
- 低レベルのCFNetwork C API を使用すると、ストリームとネットワーク トラフィックの暗号化を適切な方法でより詳細に制御できます。
- 手間のかかる作業を行う証明書、キー、および信頼サービス、より具体的には X509 信頼ポリシー
Mac ではセキュア トランスポートを使用できますが、私が知る限り、彼らはそれをデバイスに移植していません。すべてを学ぶ気分:)
WCF を使用して何らかのセキュリティを行っている場合、おそらく最初に気付くのは、利用可能なオプションが多数あるということですが、要約すると、次の短いリストにまとめられます。
- クリア テキスト メッセージ (xml/json/...) を使用したトランスポート レイヤー セキュリティ (https)
- オープン トランスポート (http) を介したメッセージ レイヤー セキュリティ (暗号化されたメッセージ本文)
- 安全なトランスポートを介した安全なメッセージ
前回 (約 1 年前) WCF を行ったとき、Microsoft からの一般的な推奨事項は、トランスポートを保護しようとしたときにファイアウォール/アクセシビリティの問題が発生したため、オープン トランスポートに対するメッセージ レイヤー セキュリティのようでした。ただし、このアプローチでは、関係者全員が .NET / WCF に対応していることを前提としていました。明確な XML または JSON メッセージ本文を備えた HTTPS トランスポート レベルのセキュリティであれば、デバイスでの使用がより簡単になると思います。そうすれば、Apple が行った CFNetwork と NSHTTPRequest に焼き付けられたすべてのものを利用できます。
何かが機能したら、デバイスに証明書をインストールできるように、Enterprise Deployment Guide、特に Over-the-Air Enrollment に関するドキュメントを参照する必要があります。プログラムに付属している Apple サポート チケットのいずれかを使用することを恐れないでください :)
編集:
GenericKeychainとCryptoExcerciseの例について言及するのを完全に忘れていました
編集2:
明らかな理由もなく反対票を投じられた後、返信を読み直したところ、デバイスで p12 ファイルを開く方法についての質問に実際に答えずに、少しとりとめのないことに気付きました。[[UIApplication sharedApplication] openURL:urlToP12FileEitherLocalOrRemote]]
インストール手順のために、簡単にOSにキックアウトできるはずです。